|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目是求所有三位数中哪些数是水仙花数。(水仙花数是个位数的立方加上十位数的立方加上百位数的立方等于这个数)
诚心请教一个我的答案和老师答案比,缺点在哪,有优点吗?
老师代码:
def Narcissus():
for each in range(100, 1000):
temp = each
sum = 0
while temp:
sum = sum + (temp%10) ** 3
temp = temp // 10 # 注意这里用地板除
if sum == each:
print(each, end='\t')
print("所有的水仙花数分别是:", end='')
Narcissus()
我的代码:
for i in range(100,1000):
if i == (i//100)**3 + (i%10)**3 + ((i%100)//10)**3:
print(i)
这是我做完小甲鱼之后自己敲的找自幂数的代码...
水仙花数是三位数中的自幂数...
而我这个可以查找出指定范围内不同位数的自幂数~
可以参考下哦~
- def zms(min_num,max_num):
- mi=int(min_num)
- ma=int(max_num)
- for i1 in range(mi,ma+1):
- listf=list(str(i1))
- s=len(listf)
- temp=0
- for i2 in range(s):
- t=int(listf[i2])**s
- temp+=t
- if temp==i1:
- print(temp,end=" ")
- min_num=input("请输入求自幂数的起始数:")
- max_num=input("请输入求自幂数的终止数:")
- print(min_num+ "到" + max_num + "的自幂数分别是:")
- zms(min_num,max_num)
复制代码
|
|