有人知道怎么解决吗?QAQ有两个样例通过不了,时间超限
查看原帖
有人知道怎么解决吗?QAQ有两个样例通过不了,时间超限
953468
zhang195896615楼主2023/4/27 22:09
#include<iostream>
#include<cmath>
using namespace std;
int main(){
	int n,k,g=1,b[2001],h=0,i,j,t,y=1;
	cin>>n;
	int *a=new int [n];
	b[g++]=2;
	for(i=1;i<=n;i++){
		a[i]=i;
	}
	for(i=3;i<=n;i++){
		t=1;
		for(j=2;j<i;j++){
			if(i%j==0){
				t=0;
				break;
			}
		}
		if(t==1){
			b[g++]=i;
		}
	}
	k=(n-2)/2;
	for(i=1;i<=k;i++){
		a[i]=2*i+2;
	}
	int p=1;
	while(p<=k){
	for(i=1;i<=g;i++){
		for(j=1;j<=g;j++){
			if(b[i]+b[j]==a[p]){
				int temp;
				if(b[i]>b[j]){
					temp=b[i];
					b[i]=b[j];
					b[j]=temp;
				}
			cout<<a[p]<<"="<<b[i]<<"+"<<b[j];
			if(p<k)
				cout<<endl;
			if(p==k){
				goto f;
			}
			else p++;
			goto i;
			}
		}	
	}
		i:{
		}
	}
	f:
	return 0;
}
2023/4/27 22:09
加载中...