哈哈!小仙女决定正式开启自己的掘金之旅了,小仙女的内心甚是激动,希望能在掘金遇到更优秀的您哦!
写一个函数,要求参数是一个1000000以内的整数,并判断这个整数是不是素数。注意:代码要优化执行效率,执行时间不能超过32毫秒
function adds(num) {
var flag = true;
var count = 0;
if (num == 0 || num == 1) {
console.log(num + " 不是素数");
} else if (num % 2 == 0) {
console.log(num + " 不是素数");
} else {
var sqrtNum = Math.sqrt(num);
for (var i = 3; i <= sqrtNum; i += 2) {
count++;
if (num % i == 0) {
// count++;
flag = false;
break;
}
}
if (flag == true) {
console.log("当整数为 " + num + " 时,num不可以被i整除");
console.log(num + "是素数");
} else {
console.log("当整数为 " + num + " 时,i为 " + i + "时,因为num/i== " + num / i + " ,所以num可以被i整除");
console.log(num + "不是素数")
}
}
console.log("循环次数:" + count);
}
var nums = parseInt(prompt("请输入一个整数来判断是否为素数"));
console.time("执行时间");
adds(nums);
console.timeEnd("执行时间");
以上代码纯属借鉴大佬代码哦,希望对未来需要面试的您们有所帮助要哟!