Python编程算法【二十二】 水仙花数
【案例内容】
输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为153=1³+5³+3³
【解题思路】
题目已经表述得很清楚,首先“水仙花数”是一个3位数。其次,个位、十位、百位的立方之和要等于该数本身。按照通常做法,就是通过取模或整除,分别拿到个位、十位和百位,然后求它们的立方之和,看看是不是等于该数本身,如果是就那么该数就是“水仙花数”。有了第二十一题的经验后,我们也可以巧妙利用str来做,也就是先转成字符型,即可轻松拿到个位、十位、百位,拿到后再重新转成int型,又可以进行数字计算,这样就不用去取模或整除才能拿到各位了,做起来更加简便、轻松。
【Python代码】

本题依然是先转成字符型str,就能轻松拿到各位,然后再重新转回整型后,就能进行计算。通过这种方式便能轻易解答此题,比用常规方法更加简便、直观。遇到问题时,我们要多角度去观察,看看有没有奇思妙解的方法,也许能让我们的解法更加高效而巧妙。