#-*- coding: utf-8-*-
import time
import math
#獲取3位數的水仙花數
start1 = time.time()
start = time.time()
numbers = []
for i in range(100,1000):
a = i % 10
b = i // 10 % 10
c = i // 100
if((a ** 3) + (b ** 3) + (c ** 3)) == i:
numbers.append(i)
for j in numbers:
print("3位數中水仙花數有 %d" % (j))
end = time.time()
take = end - start
print("計算3位數中的水仙花數花費時間 %d 秒" % (take))
#四位數中的四爺玫瑰數
numbers = []
for i in range(1000,10000):
a = i % 10
b = i % 100 // 10
c = i % 1000 // 100
d = i // 1000
if((a ** 4) + (b ** 4) + (c ** 4) + (d ** 4)) == i:
numbers.append(i)
for j in numbers:
print("4位數中水玫瑰數有 %d" % (j))
#五位數中的五角星數
numbers = []
for i in range(10000,100000):
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000
if(math.pow(a,5) + (b ** 5) + (c ** 5) +
(d ** 5) + (e ** 5)) == i:
numbers.append(i)
for j in numbers:
print("5位數中的五角星數有 %d" % (j))
#六位數中的六合數
numbers = []
for i in range(100000,1000000):
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
f = i // 100000
if(math.pow(a,6) + math.pow(b,6) + math.pow(c,6)
+ math.pow(d,6) + math.pow(e,6) + math.pow(f,6)) == i:
numbers.append(i)
for j in numbers:
print("6位數中六合數有 %d " % (j))
#七位數中的北斗七星數
numbers = []
for i in range(1000000,10000000):
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
f = i // 100000 % 10
g = i // 1000000
if(math.pow(a,7) + math.pow(b,7) + math.pow(c,7)
+ math.pow(d,7) + math.pow(e,7) + math.pow(f,7) + math.pow(g,7)) == i:
numbers.append(i)
for j in numbers:
print("7位數中北斗七星數有 %d " % (j))
end = time.time()
take = end - start
print("7位數中北斗七星數花費時間 % d 秒" % (take))
#八位數中的八仙花數
numbers = []
for i in range(10000000,100000000):
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
f = i // 100000 % 10
g = i // 1000000 % 10
h = i // 10000000
if(math.pow(a,8) + math.pow(b,8) + math.pow(c,8)
+ math.pow(d,8) + math.pow(e,8) + math.pow(f,8)
+ math.pow(g,8) + math.pow(h,8)) == i:
numbers.append(i)
for j in numbers:
print("8位數中八仙花數有 %d " % (j))
end = time.time()
take = end - start
print("8位數中八仙花數花費時間 % d 秒" % (take))