和题解就差一个等号输出少一个质数
查看原帖
和题解就差一个等号输出少一个质数
1127533
cuttlef1sh楼主2023/10/11 23:56
#include<bits/stdc++.h>
using namespace std;
int n, x;
long long sum = 0;
int i;
int pd(int y) {
	for (int i = 2; i * i < y; i++) {
		if (y % i == 0)return 0;
	}
	return 1;
}
int main() {
	cin>>n;
	if (n == 1) {
		cout << 0;
		return 0;
	}
	else if (n == 2) {
		cout << 2 << endl;
		cout << 1 << endl;
		return 0;
	}
	for (int i = 2; i <= n; i++) {
		if (i % 2 == 0 && i != 2)continue;
		if (i + sum > n) {
			cout << x;
			return 0;
		}
		if (pd(i)) {
			cout << i << endl;
			sum += i;
			x++;
		}



	}
	return 0;
}
//pd中的for少了一个等号
2023/10/11 23:56
加载中...