Python求水仙花数

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 04:53   30   0

1.什么是水仙花数

所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本身。

例如: 153是一个“水仙花数”,因为153 = 1的立方+3的立方+5的立方

2.问题

求出100~999之前的所有“水仙花数”

3.算法分析

解这个题目的关键是怎样从一个3位数中分离百位数、十位数、个位数

可以假设该3位数以i表示,由a,b,c三个数字组成。

百位数字 a = int(i/100).

十位数字 b=int((i-100*a)/10)

个位数字 c = i -int(i/10)*10

4.具体实现

for i in range(100, 999):
    a = i // 100
    b = (i % 100) // 10
    c = i % 10
    if i == a ** 3 + b ** 3 + c ** 3:
        print(i)

运行结果:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP