求 n 以内最大的 k 个素数以及它们的和

在这里插入图片描述在这里插入图片描述

#include<iostream>
#include<cmath>
using namespace std;
bool iss(int n){
    
    
	if(n==2 || n==3) return true;
	else if(n%2==0) return false;
	else{
    
    
		for(int i=2;i<=sqrt(n);i++){
    
    
			if(n%i==0) return false;
		}
		return true;
	}
}
int main(){
    
    
	int n,k,num=0,sum=0,a[10000];
	cin>>n>>k;
	for(int i=n;i>=2;i--){
    
    
		if(iss(i)){
    
    
			a[num]=i;
			num++;
		}
		if(num==k) break;
	}
	for(int i=0;i<num-1;i++){
    
    
		cout<<a[i]<<'+';
		sum+=a[i];
	}
	sum+=a[num-1];
	cout<<a[num-1]<<'='<<sum;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/interestingddd/article/details/114993649