diff options
Diffstat (limited to 'challenge-059/manfredi/python')
| -rwxr-xr-x | challenge-059/manfredi/python/ch-2.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-059/manfredi/python/ch-2.py b/challenge-059/manfredi/python/ch-2.py new file mode 100755 index 0000000000..d758d9889c --- /dev/null +++ b/challenge-059/manfredi/python/ch-2.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +numbers = [ 2, 4, 3 ] + +print("numbers", numbers) + +n = sorted(numbers) + +pair = [ (n[i], n[j]) for i in range(len(n)) + for j in range(i, len(n)) if n[i] is not n[j] ] + +bit_sum = 0 + +for i, j in pair: + bin_i = "{0:032b}".format(i) + bin_j = "{0:032b}".format(j) + diff = 0 + for k in range(len(bin_i)): + if bin_i[k] is not bin_j[k]: diff += 1 + + bit_sum += diff + print("{1} = {0}\n{3} = {2}\nf({0}, {2}) = {4}\n".format(i, bin_i, j, bin_j, diff)) + +print("bit sum = {}".format(bit_sum)); |
