Python怎麼輸出所有的水仙花數?
所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。用Python輸出水仙花數,對於有面試需求或者對演算法感興趣的同學,是一定要掌握的,在面試過程中,面試官很大程度會讓我們書寫演算法,比如氣泡排序、九九乘法表、水仙花數等,那該如何寫呢?請看下文:
程式設計思路:首先利用for語句迴圈從100到999的所有數字,並且把它賦值給變數n;然後分解變數n,獲取個位數k、十位數j和百位數i;最後判斷i、j和k數的立方和是否等於n,如果等於,就使用“print(n)”語句輸出即可。
所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
Python輸出所有的水仙花數:
for n in range(100,1000):
i = n // 100
j = n // 10 % 10
k = n % 10
if n == i ** 3 + j ** 3 + k ** 3:
print (n)
輸出:
153
370
371
407
程式分析:利用for迴圈控制100-999個數,每個數分解出個位,十位,百位。
第一行:因為水仙花數是一個三位數,所以我們就迴圈從100到999的所有數字,並且把它賦值給n
for n in range(100,1000):
第二行:用n整除100,得到的其實就是三位數的百位數字,將它賦值給i
i = n // 100
第三行:用n整除10,得到的是百位數和十位陣列成的兩位數,再用這個數除以10求餘數,就得到了我們的十位數字,將它賦值給j
j = n // 10 % 10
第四行:用n除以10,求餘數,得到的就是n的個位數數字,將它賦值給k,這個時候三位數n的百位、十位、個位數字,我們都已經得到,並且分別賦值給了i,j,k
k = n % 10
第五行:判斷如果n等於它百位數字的立方+十位數字的立方+個位數字的立方,那麼它就是水仙花數,這個時候,將滿足條件的n列印出來,否則就進入下一個迴圈
if n == i ** 3 + j ** 3 + k ** 3:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2911489/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python怎麼不轉行輸出Python
- python的輸出語句怎麼寫Python
- python中怎麼輸出雙引號Python
- python ----輸入輸出 變數Python變數
- python學習----水仙花數Python
- python爬取中文輸出亂碼怎麼辦Python
- python3中輸出錯誤怎麼辦?Python
- python怎麼將列印輸出日誌檔案Python
- 碎片化學習Java(十九)Java for迴圈輸出所有水仙花數Java
- python陣列下標怎麼獲取值並輸出Python陣列
- 【Python】Python方法求水仙花數原碼例項Python
- python 1096: 水仙花數(函式專題)Python函式
- 水仙花數
- python怎樣實時輸出時間Python
- java水仙花數Java
- 水仙花數_JAVAJava
- 水仙花數(1)
- 水仙花數(2)
- Flink 的側輸出流,怎麼玩?
- 使用pycharm print不輸出怎麼辦PyCharm
- 24.【水仙花數】
- 修改已經有的網站怎麼修改修改已經有的網站怎麼修改網站
- python怎麼求因數Python
- Python輸入和輸出(IO)Python
- python 標準輸入輸出Python
- 輸出符合範圍內的水仙花數:一個三位數,它的各位數字的立方和等於其本身
- Python如何從大到小輸出三個數?Python
- python實現:輸入2個整形數字,輸出最大值Python
- 2837 尋找水仙花數
- JAVA——水仙花數問題Java
- #6.求水仙花數
- ACM的Python版輸入輸出ACMPython
- python輸出hello worldPython
- python 輸出重定向Python
- 7-1 jmu-python-輸入輸出-計算字串中的數Python字串
- 陣列怎樣在python3中逆序輸出?陣列Python
- wpf怎麼讓Textbox只能輸入數字?
- Python中怎麼保留小數?Python