import math
def isTriangle(num):
n = (math.sqrt(8*num+1)-1)/2
return n == int(n)
def isSquare(num):
return math.sqrt(num)==int(math.sqrt(num))
def isPentagonal(num):
n = (math.sqrt(24*num+1)+1)/6
return n == int(n)
def isHexagonal(num):
n = (math.sqrt(8*num+1)+1)/4
return n == int(n)
def isHeptagonal(num):
n = (math.sqrt(40*num+9)+3)/10
return n == int(n)
def isOctagonal(num):
n = (math.sqrt(3*num+1)+1)/3
return n == int(n)
def digList(num):
l = []
for i in str(num):
l.append(int(i))
return l
tlist = []
for i in range(1000,10000):
if isTriangle(i) and "0" not in str(i) and len(digList(i)) == len(set(digList(i))):
tlist.append(i)
slist = []
for i in range(1000,10000):
if isSquare(i) and "0" not in str(i) and len(digList(i)) == len(set(digList(i))):
slist.append(i)
plist = []
for i in range(1000,10000):
if isPentagonal(i) and "0" not in str(i) and len(digList(i)) == len(set(digList(i))):
plist.append(i)
hexlist = []
for i in range(1000,10000):
if isHexagonal(i) and "0" not in str(i) and len(digList(i)) == len(set(digList(i))):
hexlist.append(i)
heplist = []
for i in range(1000,10000):
if isHeptagonal(i) and "0" not in str(i) and len(digList(i)) == len(set(digList(i))):
heplist.append(i)
olist = []
for i in range(1000,10000):
if isOctagonal(i) and "0" not in str(i) and len(digList(i)) == len(set(digList(i))):
olist.append(i)
print(tlist)
print(slist)
print(plist)
print(hexlist)
print(heplist)
print(olist)