JavaScript初學者程式設計題(3)
阿新 • • 發佈:2021-01-31
技術標籤: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);