aboutsummaryrefslogtreecommitdiff
path: root/challenge-059/manfredi/python
diff options
context:
space:
mode:
authorLeo Manfredi <manfredi@cpan.org>2020-05-08 21:10:59 +0200
committerLeo Manfredi <manfredi@cpan.org>2020-05-08 21:10:59 +0200
commit70e020d318fceb009ad1ed48e944e2fdeefa5f40 (patch)
tree3034bc4fda5067687e94bee1560a67f8d0c74fc0 /challenge-059/manfredi/python
parente2d97eb5f4eb7f99c8ab07f6b2071bd2e4017800 (diff)
downloadperlweeklychallenge-club-70e020d318fceb009ad1ed48e944e2fdeefa5f40.tar.gz
perlweeklychallenge-club-70e020d318fceb009ad1ed48e944e2fdeefa5f40.tar.bz2
perlweeklychallenge-club-70e020d318fceb009ad1ed48e944e2fdeefa5f40.zip
Added solution Task #2
Diffstat (limited to 'challenge-059/manfredi/python')
-rwxr-xr-xchallenge-059/manfredi/python/ch-2.py24
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));