70分求助佬们
查看原帖
70分求助佬们
947197
1224458257_楼主2023/3/8 10:56
#include<iostream>
using namespace std;
int sushu(int x){
	if(x==1)
	return 0;
	if(x==2)
	return 1;
	for(int i=2;i<x;++i){
		if(x%i==0)return 0;
	}
	return 1;
}
int main(){//难点在于质数和等于n的有好几组,找出积最大的一组 
	int n;
	cin>>n;
	int arr[n];
	int j=0;
	int ji=0,temp=0;
	for(int i=0;i<=n;++i){
		arr[i]=0;
	}
	for(int i=2;i<=n;++i){
		if(sushu(i)==1){
			arr[j]=i;
			j++;//把所有质数存放在arr数组中 
		}
	} 
	for(int i=0;i<j;++i){//把每个数字依次比较是否和为n,并进行乘法处理 
		for(int k=0;k<j;++k){
			if(arr[i]+arr[k]==n){
				ji=arr[i]*arr[k];
				if(ji>temp){
					temp=ji;
				}
			}
		}
	}
	cout<<temp<<endl;
	return 0;
}
2023/3/8 10:56
加载中...