关于Python求解水仙花数的问题

Python056

关于Python求解水仙花数的问题,第1张

i = n/100 是求百位上的数字,如123除以100就等于1 j = (n/10)%10 是求十位上的数字,如123除以10等于12,再除以10取余数就等于2 k = n % 10 是求个位上的数字,如123除以10取余数就等于3

答: 首先要明白水仙花数的定义,它是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。所以问题就转化为我们如何将三位数的个位、十位和百位都表示出来。然后再遍历100~999的每一个数字去判断其是否为水仙花数。具体代码如下所示。

最终的运行结果如下,水仙花数总共有4个,具体如图片所示。