判断一个整数,是否是质数,并输出结果?
注:只能被1和这个数本身整除的,叫质数;如 11
1.count计数法
//count计数器
let num = parseInt(window.prompt('请输入一个整数:'));
let count = 0; //计数器
for (let i = 1; i <= num; i++) {
if (num % i == 0) {
count = count + 1; //如果num是i的倍数,计数器count+1----->判断有几个商
}
}
//在循环外判断count个数,若count>=2;则count不是质数
if (count != 2) {
document.write(num + '不是质数');
} else {
document.write(num + '是质数');
}
2.标志法
let num = parseInt(window.prompt('请输入一个整数:'));
// flag默认是0,表示是一个质数;这儿的count用来做是否是质数的标志 ,所以我们把这种称为标志变量。
let flag = 0;
for (let i = 2; i < num; i++) {
if (num % i == 0) {
//num不是质数,结束循环
flag = 1;
break;
}
}
//当num不是质数时,flag=1 --> 1!=0 -->false
if (flag == 0) {
document.writeln(num + "是质数")
} else {
document.writeln(num + "不是质数")
}