#include <iostream>
#include <stdlib.h>
#include <math.h>
int main(){
int n;
std::cin >> n; //相当于scanf("%", &n);
std::cout << "2 "; //2特殊单独拿出
for(int i = 3; i <=n ; ++i){ //外层循环,表示需要检测的数据
int q = sqrt(i), j = -1; //开根号,一个数是素数则能让其整除的数一定小于它本身开根号(有兴趣可以试试证明),j=-1给j初始化。
for(j = 2; j <= q; ++j){ //从2开始,不能从1
if(i%j == 0){ //如果存在结束内循环,外循环+1,测试下一个数。
break;
}
}
if(j > q) //如果j比q大说明j一定遍历一遍而且没有合适的数字存在
std::cout << " " << i << " "; //输出这个质数
}
return 0; //好习惯
}
素数的判定
最新推荐文章于 2024-09-27 17:57:19 发布