质数问题
质数问题
题目:判断101-200之间有多少个素数,并输出所有素数。
分析:不能被2整除的称为质数。
错解:
for(int i=101;i<=200;i++){
if(i%2!=0){
println(i);
}
}
原因:比如121,虽然不能被2整除,但是不是质数。因为它能够被11整除。
方法:判定一个质数m的方法,采用试除法,使用m来去除以2到sqrt(m)之间的数,如果整除说明不是质数。反之,则是质数。
int count=0; //用于计数
for(int i=101;i<=200;i++){
for(int j=2;j<=sqrt(m);j++){
if(i%j!=0){
continue;//继续在循环体中计算。
}else{
break; //跳出循环。执行下一位数。
}
count++;
}
}
System.out.println(count);
题目:判断101-200之间有多少个素数,并输出所有素数。
分析:不能被2整除的称为质数。
错解:
for(int i=101;i<=200;i++){
if(i%2!=0){
println(i);
}
}
原因:比如121,虽然不能被2整除,但是不是质数。因为它能够被11整除。
方法:判定一个质数m的方法,采用试除法,使用m来去除以2到sqrt(m)之间的数,如果整除说明不是质数。反之,则是质数。
int count=0; //用于计数
for(int i=101;i<=200;i++){
for(int j=2;j<=sqrt(m);j++){
if(i%j!=0){
continue;//继续在循环体中计算。
}else{
break; //跳出循环。执行下一位数。
}
count++;
}
}
System.out.println(count);