测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22611. 筛选法找质数

填空题 较难
知识点

题目描述

筛选法找质数

题目描述

用筛法求出n(2≤n≤1000)以内的全部质数。

输入

输入n。

输出

多行,由小到大的质数。

输入样例

10

输出样例

2
3
5
7

参考答案

#include <bits/stdc++.h> using namespace std; bool isPrime[10005];//isPrime[i]:i是否是质数 void initPrime(int n)//n:数字范围 { memset(isPrime, 1, sizeof(isPrime)); for(int i = 2; i*i <= n; ++i) if(isPrime[i]) for(int j = i*i; j <= n; j += i) isPrime[j] = false; } int main() { int n; cin >> n; initPrime(n); for(int i = 2; i <= n; ++i) if(isPrime[i]) cout << i << endl; return 0; }
上一题 下一题