判断素数的方法
方法一:根据素数的定义:
1.1不是素数。
2.如果这个数n,在2–n-1之间,存在一个数k,使得 n%k==0 ,则他就不是素数。
#include<stdio.h>
bool Is_prinme(int n) { //素数的判断
if (n <= 1) return false;
for (int i = 2; i < n ; i++) {
if (n % i == 0)
return false;
}
return true;
}
int main(){
for (int i = 1; i <= 100; i++) //输出1—100之间的素数
if (Is_prinme(i) == true)
printf("%d ", i);
}
方法二:
方法二是方法一的优化
1.1不是素数。
2.如果这个数n,在 2–sqrt(n) 之间,存在一个数k,使得 n%k==0 ,则他就不是素数。
注意:sqrt()函数需要添加math.h头文件
#include<stdio.h>
#include<math.h>
bool Is_prinme(int n) { //素数的判断
if (n <= 1) return false;
int sqt = sqrt(n);
for (int i = 2; i < sqt ; i++) {
if (n % i == 0)
return false;
}
return true;
}
int main(){
for (int i = 1; i <= 100; i++) //输出1—100之间的素数
if (Is_prinme(i) == true)
printf("%d ", i);
}