aboutsummaryrefslogtreecommitdiff
path: root/challenge-102/paulo-custodio/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-102/paulo-custodio/python/ch-1.py')
-rw-r--r--challenge-102/paulo-custodio/python/ch-1.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/challenge-102/paulo-custodio/python/ch-1.py b/challenge-102/paulo-custodio/python/ch-1.py
new file mode 100644
index 0000000000..d513c19117
--- /dev/null
+++ b/challenge-102/paulo-custodio/python/ch-1.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+# Challenge 102
+#
+# TASK #1 > Rare Numbers
+# Submitted by: Mohammad S Anwar
+#
+# You are given a positive integer $N.
+#
+# Write a script to generate all Rare numbers of size $N if exists. Please
+# checkout the page for more information about it.
+# Examples
+#
+# (a) 2 digits: 65
+# (b) 6 digits: 621770
+# (c) 9 digits: 281089082
+
+import sys
+import math
+
+def perfect_square(n):
+ sq = math.sqrt(float(n))
+ if math.floor(sq) == sq:
+ return True
+ else:
+ return False
+
+def print_rare(n):
+ for r in range(10**(n-1), 10**n):
+ r1 = int(str(r)[::-1])
+ if perfect_square(r+r1):
+ if r>=r1:
+ if perfect_square(r-r1):
+ print(r)
+
+print_rare(int(sys.argv[1]))