1000以内的水仙花数代码

问答 30334

1000以内的水仙花数代码

回复

共1条回复 我来回复
  • 六梗网
    小悟空
    专业问答知识小百科
    评论

    水仙花数,指的是一个三位数(100-999),其个位、十位、百位数的立方和等于该数本身。例如:153 = 1³ + 5³ + 3³。

    下面是求1000以内的水仙花数的Python代码:

    ```

    for i in range(100, 1000):

    sum = 0

    temp = i

    while temp > 0:

    digit = temp % 10

    sum += digit ** 3

    temp //= 10

    if i == sum:

    print(i)

    ```

    首先,从100到999遍历三位数。然后,用temp保存当前遍历的数i,以便计算其个位、十位、百位的立方和。接着,用while循环,取temp的个位数,计算其立方和,并将temp除以10去掉个位数。循环直到temp小于等于0,完成对i每个位数立方和的计算。最后,与i比较,若相等,则输出i,即这个三位数是一个水仙花数。

    这个代码中,最关键的就是while循环,此循环从temp中取出了三位数每一位数的值,实现了算法的核心计算。

    2024-10-06 09:40:06 0条评论