李子豪 发表于 2020-3-28 14:04:35

一道水花仙数题的答案求讲解

n = int(input())
if n>=3 and n<6:
    for i in range(10**(n-1),10**n):
      sum=0
      for j in map(int,str(i)):
            sum=sum+j**n
      if sum==i:
            print(i)
10**(n-1),10**n为啥是这个

sunrise085 发表于 2020-3-28 14:06:13

这是10的n次方
若输入的是4,那所求范围就是1000~10000内查找

ouyunfu 发表于 2020-3-28 14:23:03

10**(n-1),10**n主要是为了控制位数,比如,n=3,查找区间为(100,1000),也就是3位数的水仙花数
页: [1]
查看完整版本: 一道水花仙数题的答案求讲解