题解
查看原帖
题解
1114228
caoxiaokai1008楼主2024/4/29 16:54
#include<bits/stdc++.h>
using namespace std;
bool zs(int n){
	if(n%2==0&&n!=2||n%3==0&&n!=3||n%5==0&&n!=5){//缩减 
		return 0;	
	}for(int i=2;i*i<=n;i++){
		if(n%i==0){//判断是否是质数 
			return 0;
		}
	}
	return 1;
}int main(){
	int l,as=0,d=0;
	scanf("%d",&l);
	for(int i=2;;i++){
		//如果是质数,则累加 
		if(zs(i)==1){
			//如果累加后,未超过l,退出 
			if(as+i<=l){
				as+=i;
				cout<<i<<endl;
				d++;
			}else{
				break;
			}	
		}
	}cout<<d<<endl; 
	return 0;
}
2024/4/29 16:54
加载中...