原题链接:[编程入门]筛选N以内的素数
0.0分
36 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main(){ int a, i=3; scanf("%d", &a); printf("2\n"); for (;i <= a;i++) { if (i%2!=0&&i%3!=0&&i%5!=0&&i%7!=0) { printf("%d\n", i); } } return 0; }这个才好懂#include<stdio.h> int main() { int n; scanf("%d",&n); if(n>=2) { printf("2\n"); } for(int i=2;i<=n;i++) { for(int k=2;k<=i-1;k++) { if(i%k==0) { break; } else { printf("%d\n",i); break; } } } return 0; }欧拉筛 #include <iostream> #include <string.h> using namespace std; typedef long long LL; LL prime[100001]; bool vir[100000001]; int main() { memset(prime,0,sizeof(prime)); memset(vir,0,sizeof(vir)); LL n; cin>>n; vir[1]=true; for(LL i=2;i<=n;i++){ if(!vir[i]){ vir[i]=1; prime[++prime[0]]=i; } for(LL j=1;j<=prime[0]&&i*prime[j]<=n;j++){ vir[prime[j]*i]=true; if(i%prime[j]==0) break; } } //cout<<prime[0]; for(int i=1;i<=prime[0];i++) cout<<prime[i]<<endl; return 0; }