首页 > 学院 > 开发设计 > 正文

PAT BASIC 1013 数素数

2019-11-11 03:01:23
字体:
来源:转载
供稿:网友

思路:

这个题就是用筛法把前10000个素数都求出来,然后按照格式输出。

输出的时候注意最后一个即使不是一行的末位也不用输出空格。

代码:

#include<iostream>#include<math.h>using namespace std;int state[1000001];int PRime[20000];void findPrime(int n);void findPrime(int n){ int i, j; for (i = 2; i <= n; i++) { if (state[i]) continue; prime[0]++; prime[prime[0]] = i; if (i <= (int)(sqrt(n))) for (j = i*i; j <= n; j = j + i) state[j] = 1; }}int main(){ int n, m, i; findPrime(110000); cin >> m >> n; for (i = m; i <= n; i++) { cout << prime[i]; if ((i - m + 1) % 10 == 0) cout << "/n"; else if(i!=n) cout << " "; } //while (1) //{ //} return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表