U305199 GSEP 2级样题 筛选质数
GSEP 2级样题 筛选质数
题目描述
最近小明刚刚学到了质数的概念:质数又称素数。一个大于 1 的自然数,除了 1 和它自身外,不能被其他自然数整除的数叫做质数。最小的质数是 2,它也是唯一的偶数质数。最前面的质数依次排列为:2、3、5、7、11 等。小明觉得质数的概念非常有意思,所以他想知道 n 以内所有的质数,但是自己一个一个的找有点浪费时间,聪明的他一下就想到了 C++编程,可以使用编程的方法很快的找到 n 以内的所有质数。
现在要求输入一个正整数 n,输出小于等于 n 的所有质数。
输入格式
输入一行,包含一个正整数 n(1<=n<=100)。
输出格式
输出若干行,每行一个正整数,分别为小于等于 n 的所有质数。
样例 #1
样例输入 #1
10
样例输出 #1
2
3
5
7
#include <iostream>
#include <cmath>
using namespace std;
bool IsPrime(int n) {
	bool r = n >= 2;
	if (r) {
		for (int i = 2; i * i <= n; i++) {
			if (n % i == 0) {
				r = false;
				break;
			}
		}
	}
	return r;
}
int main() {
	int n; cin >> n;
	for (int i = 2; i <= n; i++) {
		if (IsPrime(i)) cout << i << endl;
	}
}
                    
                
                
            
        
浙公网安备 33010602011771号