2 条题解

  • 0
    @ 2025-3-9 20:22:22

    程序较长,耐心分析

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n;
        cin>>n;
        for(int x=2;x<=n/3;x++){
            for(int y=2;y<=(n-x)/2;y++){
                int z=n-x-y;
                int f=1;
                if(x==1)
                    f=0;
                for(int k=2;k<=sqrt(x);k++)
                    if(x%k==0){
                        f=0;
                        break;
                    }
                if(f==0)
                    continue;
                f=1;
                if(y==1)
                    f=0;
                for(int k=2;k<=sqrt(y);k++)
                    if(y%k==0){
                        f=0;
                        break;
                    }
                if(f==0)
                    continue;
                f=1;
                if(z==1)
                    f=0;
                for(int k=2;k<=sqrt(z);k++)
                    if(z%k==0){
                        f=0;
                        break;
                    }
                if(f==1){
                    cout<<x<<" "<<y<<" "<<z<<"\n";
                    return 0;//或exit(0);
                }
            }
        }
        return 0;
    }
    
    • -1
      @ 2024-12-11 21:30:48

      #include<bits/stdc++.h> using namespace std; bool f(int x) { for(int i=2;i<x;i++) { if(x%i==0) return 0; } return 1; } int main() { int n,f2; cin>>n; if(f(n-4)==1) { printf("2 2 %d",n-4); } else { f2=0; for(int i=3;i<n;i++) { if(f(i)==1&&(i%2)!=0) { for(int j=i;j<n;j++) { if(f(j)==1&&(j%2)!=0) { if(f(n-i-j)1) { printf("%d %d %d",i,j,n-i-j); f2=1; break; } } } if(f21) break; } } } return 0; }

      • 1

      信息

      ID
      5637
      时间
      1000ms
      内存
      125MiB
      难度
      2
      标签
      递交数
      59
      已通过
      45
      上传者