思路:用count变量统计每个数能被整除的数,利用两个for循环实现,利用取余的方式(i % j),count==2(1和数本身)为质数,count>2,即为合数。
var arr1 = [];//保存质数
var arr2 = [];//保存合数
var count = 0;
for(var i = 2; i<100; i++){
for(var j = 1; j<=i; j++){
if(i%j == 0){
count++;
}
}
if(count == 2){
arr1.push(i);
}else{
arr2.push(i);
}
count = 0;
}
document.write("质数有" + arr1);
document.write("合数有" + arr2);
方法改进:减少循环次数
var arr1 = [];//保存质数
var arr2 = [];//保存合数
var count = 0;
for(var i = 2; i<100; i++){
for(var j = 1; j <= Math.sqrt(i); j++){
if(i%j == 0){
count++;
}
}
if(count == 1){
arr1.push(i);
}else{
arr2.push(i);
}
count = 0;
}
document.write("质数有" + arr1);
document.write("合数有" + arr2);