水仙花数を3桁で出力するにはPythonでどのようにすればよいですか?

自分自身の数値と、各桁の数字を3乗した合計値が一致する、3桁以上の数値。例として、153は全ての桁の数字を3乗した1+125+27の合計が153となる

以下に、すべての3桁の水仙花数をプリントするPythonプログラムを示します。

for num in range(100, 1000):
    # 将数字转换为字符串,以便进行迭代
    num_str = str(num)
    # 取出个位、十位和百位上的数字
    digit1 = int(num_str[0])
    digit2 = int(num_str[1])
    digit3 = int(num_str[2])
    # 计算数字的立方和
    sum_of_cubes = digit1 ** 3 + digit2 ** 3 + digit3 ** 3
    # 如果立方和等于原数字,则输出该数字为水仙花数
    if sum_of_cubes == num:
        print(num)

上記のコードを実行すると、すべての三桁の「水仙花数」が表示されます:153、370、371、407

bannerAds