题:判断一个整数是否是完全平方数。
完全平方数:开平方后值为整数的数,例如9,16,25等
方法1:
n*n = 1+3+5+...+(2n+1),是一个首项为1公差为2的等差数列。
把待判断的数-1 ,-(1+2),-(1+2+2)...直到最后结果能为零就为完全平方数。
var isSquare = function(n){ if(n === 0) { return true; } else { for (let i=1; i<=n; i+=2) { n = n-i; }; if (n === 0) { return true; } else { return false; } } }
方法2:
用Math方法,开平方根后的值是整数即可。
var isSquare2 = function(n){ return Math.sqrt(n) === parseInt(Math.sqrt(n)); }