Python3 打印一定范围内的水仙花数

Python3打印一定范围内的水仙花数


题目
1打印一定范围内的水仙花数:水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。(10分)
题目内容:

水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。

例如:153是一个“水仙花数”,因为 153 是个 3位数,由题目可知计算规则:

1**3+5**3+3**3==153

输入一个正整数max,输出100到max之间的所有水仙花数(包括max)。

输入格式:

共一行,为一个正整数。

输出格式:

若干行,从小到大输出水仙花数,一行为一个数。

输入样例:

2500

输出样例:

153

370

371

407

1634

时间限制:1000ms内存限制:32000kb

#水仙花数
#实例1
x = input()
for s in range(100,int(x)+1):
    y = 0
    for n in range(len(str(s))):
        y += int(str(s)[n])**len(str(s))
    if s == y:
        print(s);
#实例2
max1 = int(input())
for flower in range(100, max1 + 1):
    tally = 0
    Length = 0
    a = flower
# 判断整数位数
    while a != 0:
        Length += 1
        a = a // 10
# 判断水仙花数
    for y in range(Length):
        tally += int(str(flower)[y])**Length
    if tally == flower:
        print(flower)
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值