12 条题解

  • 0
    @ 2022-5-29 16:04:56

    这道题我们可以循环输入n,直到n为0。对于每次输入暴力枚举每个相加是n的数,接着判断它们是否都是质数。

    #include<bits/stdc++.h>
    using namespace std;
    bool isprime(int n){//质数判断函数
    	if(n==0 or n==1){//0和1特判
    		return 0;
    	}
    	for(int i=2;i<n;i++){//枚举因数
    		if(n%i==0)return 0;//有除了1以外的因数就返回0
    	}
    	return 1;//返回1
    }
    int n=-1;//否则不会进while循环
    int main(){
        while(n!=0){//循环
        	cin>>n;
        	if(n==0){//是0就退出
        		break;
    		}
    		for(int i=0;i<=n;i++){//枚举加数
    			if(isprime(i) and isprime(n-i)){
    				cout<<n<<" = "<<i<<" + "<<n-i<<endl;//输出,注意格式
    				break;//找到就退出
    			}
    		}
    	}
    	return 0; 
    }
    

    信息

    ID
    197
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    576
    已通过
    217
    上传者