1 条题解

  • 0
    @ 2025-10-10 15:45:58

    C :

    #include<stdio.h>
    int n;
    int a[9999],b[9999],t,ans;
    int main()
    {
    	scanf("%d",&n);
    	a[1]=1;
    	for(int i=2;i<=n;i++)
    	if(a[i]==0)
    	for(int j=2;j*i<=n;j++)
    	a[i*j]=1;
    	for(int i=2;i<=n;i++)
    	if(a[i]==0)
    	b[++t]=i;
    	for(int i=1;i<=t;i++)
    	for(int j=i;j<=t&&n-b[i]-b[j]>=2;j++)
    	if(a[n-b[i]-b[j]]==0&&b[i]<=b[j]&&b[j]<=n-b[i]-b[j])
    	ans++;
    	printf("%d\n",ans);
    	for(int i=1;i<=t;i++)
    	for(int j=i;j<=t&&n-b[i]-b[j]>=2;j++)
    	if(a[n-b[i]-b[j]]==0&&b[i]<=b[j]&&b[j]<=n-b[i]-b[j])
    	printf("%d=%d+%d+%d\n",n,b[i],b[j],n-b[i]-b[j]);
    	return 0;
    }
    

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    bool sushu(int n){
    	bool f = true;
    	int i;
    	for(i = 2;i <= sqrt(n);i++){
    		if(n % i == 0){
    			f = false;
    			break;
    		}
    	}
    	if(n <= 1){
    		f = false;
    	}
    	return f;
    }
    
    int main(){
    	int a[100][3];
    	int n,i,j,c = 0,x;
    	cin>>n;
    	for(i = 2;i <= n / 3;i++){
    		if(sushu(i)){
    			x = n - i;
    			for(j = i;j <= x / 2;j++){
    				if(sushu(j) && sushu(x - j)){
    					a[c][0] = i;
    					a[c][1] = j;
    					a[c][2] = x - j;
    					c++;
    				}
    			}
    		}
    	}
    	
    	cout<<c<<endl;
    	for(i = 0;i < c;i++){
    		cout<<n<<"="<<a[i][0]<<"+"<<a[i][1]<<"+"<<a[i][2]<<endl;
    	}
    }
    

    Java :

    import java.util.*;
    public class Main
    {
    public static void main(String[] args){
             Scanner sc = new Scanner(System.in);
    				int a=sc.nextInt();
    				int f=0;
    				for (int b=a;b==a ;b++ )if(b%2!=0){
    				{for (int c=2;c<b ;c++ )if(suShu(c)==true){
    				{for (int d=c;d<=b ;d++ )if(suShu(d)==true){
    				{for (int e=d;e<=b ;e++ )if(suShu(e)==true){
    				{if (b==c+d+e){	f++;
    					
    					
    					
    				}
    				}
    				}
    				}
    				}
    				}
    				}
    				}System.out.println(f);
    				}
    				for (int b=a;b==a ;b++ )if(b%2!=0){
    				{for (int c=2;c<b ;c++ )if(suShu(c)==true){
    				{for (int d=c;d<=b ;d++ )if(suShu(d)==true){
    				{for (int e=d;e<=b ;e++ )if(suShu(e)==true){
    				{if (b==c+d+e){	
    					
    					
    					System.out.println(b+"="+c+"+"+d+"+"+e);
    				}
    				}
    				}
    				}
    				}
    				}
    				}
    				}
    				}
    	            
    		 
    }	 
    		 
    		 
    		 public static boolean suShu(int n){
    			            
    				       boolean f =true;
    					   for (int i=2;i<n ;i++ )
    						   
    				       {if (n%i==0)
    				       {f=false;
    					   break;
    				       }
    					   if (n==1)
    					   {f=false;
    					   }
    					   
    				       }return f;
    
    }
    
    
    
    
    
    }
    
    • 1

    信息

    ID
    254
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者