11 条题解

  • 0
    @ 2026-6-14 20:45:08
    #include<bits/stdc++.h>
    using namespace std;
    int m,n,cnt=0,b;
    bool zs1,zs2;
    
    int main(){
        cin>>m>>n;
        for(int i=m;i<=n;i++){//设两个素数之和(范围m~n)
            if(i%2==1) continue; //判断数字奇偶性
            for(int a=3;a<=i/2;a+=2){//设第一个加数
                b=i-a;//根据第一个加数求出第二个加数
                zs1=true;
                zs2=true;
                for(int j=3;j<a;j++){//判断第一个加数是否为素数
                    if(a%j==0){
                        zs1=false;
                        break;
                    }
                }
                for(int j=3;j<b;j++){//判断第二个加数是否为素数
                    if(b%j==0){
                        zs2=false;
                        break;
                    }
                }
                if(zs1==false||zs2==false) continue;
                printf("%d+%d=%d\n",a,b,i);//输出算式并写出和
                cnt+=1;//分解总数+1
            }
        }
        cout<<cnt;//输出分解总数
        return 0;//考试不写0鸡蛋
    }
    

    信息

    ID
    908
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    658
    已通过
    273
    上传者