//使用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);