水仙花數
需求分析
在學習C語言時我們曾經接觸過水仙花數,並用C語言實現過查找水仙花數。水仙花數是指一個3位數,它的每個位上的數字的3次冪之和等於它本身,例如:13+53+3^3=153。
功能設計
編寫的程序需要實現的功能:輸出所有的水仙花數
設計實現
查找水仙花數的過程較為簡單,所以在主類中進行編寫就可以實現。
因為水仙花數都是3位數,所以可以使用100到999的循環逐個進行判斷,將三位數n除以100,便可得到百位i;將n減去百位i100,然后再除以10便可求得十位j;再用n減去百位i100再減去十位j*10,得到個位數k。最后判斷百位i的三次方加十位j的三次方加個位k的三次方是否與原來的數n相等,若相等則輸出該數,否則繼續循環,n++。
測試運行
核心代碼
for(n=100;n<1000;n++){ //水仙花數為100到999
i = n / 100; //百位
j = (n - i * 100) / 10; //十位
k = n - i * 100 - j * 10; //個位
if (i * i * i + j * j * j + k * k * k == n) //如果滿足水仙花數
System.out.println(n); //輸出該數
總結
因為之前實現過查找水仙花數,所以這次的程序編寫過程一帆風順,只需要將C語言轉化為Java語言即可,此過程幫助我重溫了水仙花數的知識,同時也復習了Java的基本語句。
PSP
步驟 | 耗時(min) | 百分比 |
---|---|---|
需求分析 | 5 | 11.1% |
設計 | 5 | 11.1% |
代碼實現 | 10 | 22.2% |
測試 | 10 | 22.2% |
分析總結 | 15 | 33.3% |