1,水仙花数的判断:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
a=370 #判断水仙花数,水仙花数都是三位数,分别有153,370,371,407
sum =0
for item in str(a):
k=int(item)**3
sum+=k
print(sum)
a=153 #判断水仙花数,
sum =0
for item in str(a):
k=int(item)**3
sum+=k
if sum ==a:
print(sum)
else:print("false")
水仙花数方法一:
for a in range(100,1000):
sum =0
for item in str(a): #因为遍历的是整型数,而遍历只认字符串,所以改成str
k=int(item)**3 #因为前面读成了str,现在需要用于计算,所以又转化成int。
sum+=k
if sum ==a:
print(sum)
水仙花数方法二:
for item in range(100,1000): #判断水仙花数,
ge=item%10
shi=item//10%10
bai=item//100
if item == ge**3+shi**3+bai**3:
print(item)
二,自幂数的实现,自幂数: 一个数是多少位数,就是这个是每个数字的多少位的幂的和,比如数 abcdefg = a7+b7+c7+d7+e7+f7+g**7, 就是a,b,c,d,e,f,g 每个数字的7次幂的和
#自幂数
for a in range(100,1000000):
sum =0
b=len(str(a)) #读取这个数是几位数,因为位的读取是字符串,所以这里也要把数字a转成str
for item in str(a):
k=int(item)**b
sum+=k
if sum ==a:
print(sum)