diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2023-04-17 16:06:26 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2023-04-17 16:06:26 +0800 |
| commit | 64b7c608210e55b5564fe44df68d1eacf6d25969 (patch) | |
| tree | 685237e70e0a1f8d26440eec4d831853acb2c1c3 /challenge-059/lubos-kolouch/python/ch-2.py | |
| parent | e2c8b4bec3b682df8597f57ec627508a07582d31 (diff) | |
| parent | 42228ce601fe37769faacc051f35f74b9566bb26 (diff) | |
| download | perlweeklychallenge-club-64b7c608210e55b5564fe44df68d1eacf6d25969.tar.gz perlweeklychallenge-club-64b7c608210e55b5564fe44df68d1eacf6d25969.tar.bz2 perlweeklychallenge-club-64b7c608210e55b5564fe44df68d1eacf6d25969.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-059/lubos-kolouch/python/ch-2.py')
| -rw-r--r-- | challenge-059/lubos-kolouch/python/ch-2.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-059/lubos-kolouch/python/ch-2.py b/challenge-059/lubos-kolouch/python/ch-2.py new file mode 100644 index 0000000000..f482a546d6 --- /dev/null +++ b/challenge-059/lubos-kolouch/python/ch-2.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from typing import List + + +def count_different_bits(a: int, b: int) -> int: + count = 0 + while a > 0 or b > 0: + count += (a % 2) ^ (b % 2) + a >>= 1 + b >>= 1 + return count + +def sum_different_bits(numbers: List[int]) -> int: + total = 0 + for i in range(len(numbers)): + for j in range(i+1, len(numbers)): + total += count_different_bits(numbers[i], numbers[j]) + return total + +if __name__ == "__main__": + input_list = [2, 3, 4] + result = sum_different_bits(input_list) + print(result) |
