水仙花數


水仙花數

需求分析

在學習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%


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM