Python編程算法【二十二】 水仙花數(shù)
【案例內(nèi)容】?
輸出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字立方之和等于該數(shù)本身。例如,153是一個水仙花數(shù),因為153=13+53+33
【解題思路】
題目已經(jīng)表述得很清楚,首先“水仙花數(shù)”是一個3位數(shù)。其次,個位、十位、百位的立方之和要等于該數(shù)本身。按照通常做法,就是通過取?;蛘?,分別拿到個位、十位和百位,然后求它們的立方之和,看看是不是等于該數(shù)本身,如果是就那么該數(shù)就是“水仙花數(shù)”。有了第二十一題的經(jīng)驗后,我們也可以巧妙利用str來做,也就是先轉(zhuǎn)成字符型,即可輕松拿到個位、十位、百位,拿到后再重新轉(zhuǎn)成int型,又可以進行數(shù)字計算,這樣就不用去取?;蛘拍苣玫礁魑涣耍銎饋砀雍啽?、輕松。
【Python代碼】

本題依然是先轉(zhuǎn)成字符型str,就能輕松拿到各位,然后再重新轉(zhuǎn)回整型后,就能進行計算。通過這種方式便能輕易解答此題,比用常規(guī)方法更加簡便、直觀。遇到問題時,我們要多角度去觀察,看看有沒有奇思妙解的方法,也許能讓我們的解法更加高效而巧妙。
標簽: