aboutsummaryrefslogtreecommitdiff
path: root/challenge-102/paulo-custodio/python/ch-1.py
blob: d513c191173cff85574370f91bd1ca9984b93e65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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]))