C++实现判断素数

  • 素数是只能被自身和1整除
  • 想要判断正整数N是不是素数,可以将2,n-1内的每个整数都和N进行取模运算。
  • 如果出现N%n==0则说明N不是素数,因为除了1和本身外还有其他数可以被它整除。

实例1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*判断输入的正整数是不是素数*/
int main(){
int n,m=2;
cin >> n;
while(m<n){ // 或者m<=n-1
if(n%m == 0)
break;
m++;
}
if(m==n){ //如果[2,n-1]内的数都不能被整除,那么m应该是和n相等的,因为每进行一次判断m都会+1
cout<<1<<endl;
}
else{
cout<<0<<endl;
}
return 0;

}

实列2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*找出100到200间的所有素数*/
int main(){
int N=100,i;
for(N=100;N<=200;N++){
for(i=2;i<N;i++){
if(N%i==0)
break;
}
if(i==N)
cout<<N<<endl;
}
return 0;

}