12 条题解

  • 1
    @ 2024-3-31 19:20:11

    时间复杂度较高,但是简单易懂。

    #include<iostream>
    using namespace std;
    const int maxl = 20;
    int n = 1,a[maxl];
    bool isprime(int m)
    {
    	if(m==1)return false;
    	for(int i=2;i*i<=m;i++)if(m%i==0)return false;
    	return true;
    }
    int main()
    {
    	while(cin>>a[n]&&a[n]!=0)n++;
    	for(int i=1;i<=n-1;i++)
    	{
    		bool flag = 1;
    		for(int j=3;j<=a[i]/2;j++)
    		{
    			if(isprime(j)&&isprime(a[i]-j))
    			{
    				cout<<a[i]<<" = "<<j<<" + "<<a[i]-j<<endl;
    				flag = 0;
    				break;
    			}
    		}
    		if(flag)cout<<"Goldbach's conjecture is wrong\n";
    	}
    	return 0;
    }
    

    信息

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