打印1–100以内的质数(只能被1和其本身整除的数就是质数,1不是质数)
解决这个问题有三个方法:
方法一:
for(var i=2;i<100;i++){
var sum=0;
for(var j=1;j<=i;j++){
if(i%j==0){
sum++;
}
}if(sum==2){
document.write(i+'<br>');
}
}`
此方法使用了fpr循环的嵌套;
外循环定义了数值 i 的范围为100以内;
内循环在数值 i 的范围中有定义了另一个数值 j ,使其在 i 的范围中循环且能等于 i;
在内循环中使“i%j==0”( i 能整除 j ,如果满足此条件执行内循环,snm的值加1;
输出最后sum的值为2的数值 i
方法二:
for (var i = 2; i <= 99; i++) {
var sum = true;
for (j = 2; j <= i; j++) {
if (i % j == 0 && i != j) {
sum = false;
}
}
if (sum) {
document.write(i + '<br>');
}
}
在外循环中定义sum=true;在内循环中设置条件(i%j==&&i!=j)[不是质数的值];
内循环条件满足则改变sum值为sum=false;(false为假,不输出);
最后输出数值 i
方法三
for(var i=2;i<100;i++){
if(i==2||i==3||i==5||i==7){
}else if(i%2==0||i%5==0||i%3==0||i%7==0){
continue;
}
document.write(i+"<br>")
}
所有的整数只要存在除了1和其本身的因数外,
其他因数都定会是2、3、5、7中的一个或多个;
排除能被2、3、5、7整除的数和它们本身;
那么剩下的就是质数