aboutsummaryrefslogtreecommitdiff
path: root/challenge-113/abigail/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-113/abigail/python/ch-1.py')
-rw-r--r--challenge-113/abigail/python/ch-1.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/challenge-113/abigail/python/ch-1.py b/challenge-113/abigail/python/ch-1.py
new file mode 100644
index 0000000000..ebb8821ddc
--- /dev/null
+++ b/challenge-113/abigail/python/ch-1.py
@@ -0,0 +1,40 @@
+#!/opt/local/bin/python
+
+#
+# See ../README.md
+#
+
+#
+# Run as: python ch-1.py < input-file
+#
+
+#
+# For a description of the algorithm, and the proof why this is correct:
+# https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-113-1.html
+#
+
+import fileinput
+
+gcds = [0, 1, 2, 1, 2, 5, 2, 1, 2, 1]
+
+for line in fileinput . input ():
+ (N, D) = line . split ();
+ N = int (N)
+ D = int (D)
+ if D == 0:
+ print (1 if N >= 100 or N % 10 == 0 else 0)
+ continue
+
+ if N >= D * 10:
+ print (1)
+ continue
+
+ done = False
+ for i in range (0, D // gcds [D]):
+ T = N - 10 * i - D
+ if T >= 0 and T % D == 0:
+ print (1)
+ done = True
+ break
+ if not done:
+ print (0)