1. 程式人生 > 其它 >JavaScript初學者程式設計題(3)

JavaScript初學者程式設計題(3)

技術標籤:javascripthtmljs面試

JavaScript初學者程式設計題(3)

題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

第一種方法,使用for迴圈,給一定的迴圈次數,會輸出範圍內符合條件的數
//使用for迴圈,範圍是十萬之內
for (var a = 0; a < 100000; a++) {
    var b = parseInt(Math.sqrt(a + 100));
    var c = parseInt(Math.sqrt(a + 268));
    if (a + 100 == b * b && a +
268 == c * c) { console.log(a) } }
第二種方法,使用while迴圈,不固定迴圈次數,會輸出第一個符合條件的數
//a是我們要得到的那個數
var a = 0;
//b、c是為了輔助進行判斷a是否為完全平方數
var b , c;
//當不滿足條件時,就一直迴圈
while(!(a + 100 == b * b && a + 268 == c * c)){
    a++;
    //Math.sqrt是開平方,parseInt是為了保證開平方出來的數為整數,以滿足題目條件
    b = parseInt(Math.sqrt(a + 100
)); c = parseInt(Math.sqrt(a + 268)); } //最後輸出a console.log(a);
第二種方法的變種,使用do…while迴圈,不固定迴圈次數,會輸出第一個符合條件的數
var a = 0;
var b , c;
do{
    a++;
    b = parseInt(Math.sqrt(a + 100));
    c = parseInt(Math.sqrt(a + 268));
}while(!(a + 100 == b * b && a + 268 == c * c));
console.log(a);