先来写一下判断一个数是否为整数。
方法:先判断一下input是否为数字,然后在判断一下这个数对1取模是否为0.(因为任何整数都可以被1整除,即余数为0.)
function isInteger (input){
if (typeof input === 'number' && input % 1 === 0){
return true;
}
return false;
}
isInteger (6); // true
isInteger ('nice'); //false
再来判断一下一个数是否为质数。
质数是从2开始的哈。
另外,判断一个数n是否为质数,判断到 根号n就可以了。因为,举个栗子。
假设 n = 12, 根号12约等于3.4. 在12中找到一个约数 2,那么在根号12后面可以找到另外一个约数6.因为一对约数是成对出现的。而且一个约数必然在根号12之前,另外一个必定在根号12之后。所以,只要判断在根号12之前能不能找到约数就行啦。
function isPrime (input){
for (var i = 2; i <= Math.sqrt(input); i++){
if (input % i === 0){
return false;
}
}
return true;
}
isPrime (12); // false
isPrime (11); //true