JavaScript初学者编程题(3)

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);
上一篇:JS、javascript计算两个时间差


下一篇:js 进制转换(toString() 、 parseInt() 、String.format封装)