求素数问题 oj16

来源:互联网 发布:sql 转换类型 编辑:程序博客网 时间:2024/06/14 00:51

【C语言训练】求素数问题

发布时间: 2017年5月25日 19:57   最后更新: 2017年5月26日 00:08   时间限制: 1000ms   内存限制: 128M

求出1-N中的所有素数 

大于1的正整数N

1-N中的所有素数,(以从小到大的格式输出)

 复制
9
2 3 5 7 
#include <iostream>#include <cstring>  #include <cmath>  using namespace std;int main(){int i = 0, j = 0;int N;cin >> N;int n = sqrt(N) + 1;int *a = new int[N + 1];memset(a, 0, sizeof(int)*(N+1));for (i = 2; i <= n; i++) {for (j = 2; j <= N / i; j++)a[j*i] = 1;}for (i = 2; i <= N; i++){if (a[i] == 0)cout << i << " ";}return 0;}