aboutsummaryrefslogtreecommitdiff
path: root/challenge-243/jeanluc2020/python/ch-2.py
diff options
context:
space:
mode:
authorThomas Köhler <jean-luc@picard.franken.de>2023-11-13 19:51:42 +0100
committerThomas Köhler <jean-luc@picard.franken.de>2023-11-13 19:51:42 +0100
commit88d84fbfdf481fbcef86fbd015a8512ba67188f0 (patch)
tree8f27d570e83b2a67fc0f344370c55ed3f2cb71e3 /challenge-243/jeanluc2020/python/ch-2.py
parente0f33dc8918149dfc29fdc1dfbb040c671851630 (diff)
downloadperlweeklychallenge-club-88d84fbfdf481fbcef86fbd015a8512ba67188f0.tar.gz
perlweeklychallenge-club-88d84fbfdf481fbcef86fbd015a8512ba67188f0.tar.bz2
perlweeklychallenge-club-88d84fbfdf481fbcef86fbd015a8512ba67188f0.zip
Add solution 243
Signed-off-by: Thomas Köhler <jean-luc@picard.franken.de>
Diffstat (limited to 'challenge-243/jeanluc2020/python/ch-2.py')
-rwxr-xr-xchallenge-243/jeanluc2020/python/ch-2.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/challenge-243/jeanluc2020/python/ch-2.py b/challenge-243/jeanluc2020/python/ch-2.py
new file mode 100755
index 0000000000..7c49e6d055
--- /dev/null
+++ b/challenge-243/jeanluc2020/python/ch-2.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python3
+# https://theweeklychallenge.org/blog/perl-weekly-challenge-243/#TASK2
+#
+# Task 2: Floor Sum
+# =================
+#
+# You are given an array of positive integers (>=1).
+#
+# Write a script to return the sum of floor(nums[i] / nums[j]) where
+# 0 <= i,j < nums.length. The floor() function returns the integer part
+# of the division.
+#
+## Example 1
+##
+## Input: @nums = (2, 5, 9)
+## Output: 10
+##
+## floor(2 / 5) = 0
+## floor(2 / 9) = 0
+## floor(5 / 9) = 0
+## floor(2 / 2) = 1
+## floor(5 / 5) = 1
+## floor(9 / 9) = 1
+## floor(5 / 2) = 2
+## floor(9 / 2) = 4
+## floor(9 / 5) = 1
+#
+## Example 2
+##
+## Input: @nums = (7, 7, 7, 7, 7, 7, 7)
+## Output: 49
+#
+############################################################
+##
+## discussion
+##
+############################################################
+#
+# Sum up the calculated floor(nums[i]/nums[$j]) for all combinations.
+
+def floor_sum(nums: list):
+ result = 0
+ print("Input: (", ", ".join(str(x) for x in nums), ")")
+ for i in range(len(nums)):
+ for j in range(len(nums)):
+ result += int(nums[i] / nums[j])
+ print("Output:", str(result))
+
+floor_sum( [ 2, 5, 9 ] );
+floor_sum( [ 7, 7, 7, 7, 7, 7, 7 ] );
+