aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven <steven1170@zoho.eu>2024-01-16 18:22:22 +0000
committerSteven <steven1170@zoho.eu>2024-01-16 18:22:22 +0000
commit7a176cccf4b2419ebd55d54d610de24fe00ce9e3 (patch)
tree7dc31ff57673e741b55978dfce391c5c9ae63b33
parent7efb373bb9adffa79f84825217015835805298b5 (diff)
downloadperlweeklychallenge-club-7a176cccf4b2419ebd55d54d610de24fe00ce9e3.tar.gz
perlweeklychallenge-club-7a176cccf4b2419ebd55d54d610de24fe00ce9e3.tar.bz2
perlweeklychallenge-club-7a176cccf4b2419ebd55d54d610de24fe00ce9e3.zip
add solution week 252 task 1 in python
-rw-r--r--challenge-252/steven-wilson/python/ch-01.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-252/steven-wilson/python/ch-01.py b/challenge-252/steven-wilson/python/ch-01.py
new file mode 100644
index 0000000000..1beb425462
--- /dev/null
+++ b/challenge-252/steven-wilson/python/ch-01.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+
+def special_numbers(*integers):
+ '''Given an array of integers, find the sum of the squares of all special
+ elements of the array.
+
+ An element $int[i] of @ints is called special if i divides n, i.e.
+ n % i == 0. Where n is the length of the given array. The array is
+ 1-indexed.
+ >>> special_numbers(1, 2, 3, 4)
+ 21
+ >>> special_numbers(2, 7, 1, 19, 18, 3)
+ 63
+ '''
+ len_i = len(integers)
+ return sum(integers[x-1] * integers[x-1] for x in range(1, len_i+1) if len_i % x == 0)
+
+
+if __name__ == "__main__":
+ import doctest
+
+ doctest.testmod()