当前位置:首页python > 正文

python题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

作者:野牛程序员:2024-11-07 12:00:09python阅读 2182
python题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

python题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

"水仙花数"是指一个三位数,其各位数字的立方和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153

代码实现:

可以通过遍历 100 到 999 之间的所有三位数,对每个数分别提取出百位、十位和个位数字,然后计算这些数字的立方和,判断是否等于该数本身。

# 遍历 100 到 999 之间的所有数
for num in range(100, 1000):
    # 提取各位数字
    hundreds = num // 100  # 百位
    tens = (num // 10) % 10  # 十位
    ones = num % 10  # 个位
    
    # 判断是否为水仙花数
    if num == hundreds**3 + tens**3 + ones**3:
        print(num)

解释:

  • hundreds = num // 100:获取百位数字(通过整除 100)。

  • tens = (num // 10) % 10:获取十位数字(先整除 10,再对 10 取模)。

  • ones = num % 10:获取个位数字(对 10 取模)。

  • if num == hundreds**3 + tens**3 + ones**3:判断该数是否等于其各位数字的立方和。

输出结果:

运行上述代码后,输出所有水仙花数:

153
370
371
407


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • python
  • 最新推荐

    热门点击