JavaScript分支語句2-17 編程練習_求水仙花數

2-17 編程練習

水仙花數是這樣的一個數字,它的每個位數上的數字的3次冪之和等於它本身,例如(1*1*1+5*5*5+3*3*3)=153;

請在頁面中輸出1000以內的水仙花數

任務

1、獲取到1000以內的水仙花數,我們可以使用循環來進行判斷,注意循環的條件以及循環的初始變量值

2、循環每一個三位數,當滿足水仙花數的條件時就在頁面中輸出這個數

參考代碼:

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script>
            // a³+b³+c³=100a+10b+c
            for(var a=1;a<9;a++){
                for(var b=0;b<9;b++){
                    for(var c=0;c<9;c++){
                        if(a*a*a+b*b*b+c*c*c==100*a+10*b+c){
                            document.write(100*a+10*b+c+"<br/>");
                        }
                    }
                }
            }                
        </script>
    </body>
</html>

百度百科中水仙花數的求解代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <script type="text/javascript">
      var a = 0, b = 0, c = 0;
      for (var i = 100; i < 1000; i++)
      {
        a = i % 10;//a爲個位數
        b = parseInt(((i / 10) % 10));//b爲十位數
        c = parseInt(i / 100);//c爲百位數
        if (i === a * a * a + b * b * b + c * c * c)
        {
          document.write('水仙花數: ' + i + '<br/>');
        }
      }
    </script>
    </body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章