1 条题解

  • 0
    @ 2023-6-11 12:15:49

    C :

    #include<stdio.h> 
    int suShu(int x){
    	int i,c=0;
    	for(i = 2;i <= x / 2;i++){
    		if(x % i == 0){
    			c++;
    			break;
    		}
    	}
    	
    	return c;
    	
    }
    void show(int n){
    	int i;
    	for(i = 2;i <= n / 2;i++){
    		if(suShu(i) == 0 && suShu(n - i) == 0){
    			printf("%d=%d+%d\n",n,i,n-i);
    		}
    	}
    	
    }
    
    int main(){ 
    	int n,i;
    	scanf("%d",&n);
    	for(i = 4;i <= n;i+=2){
    		show(i);
    	}
    	return 0;
    } 
    
    

    C++ :

    #include <iostream>
    #include <cmath>
    using namespace std;
    //判断素数
    bool sushu(int n){
    	int i;
    	bool r=true;
    	for(i=2;i<=sqrt(n);i++){
    		if(n%i==0){
    			r=false;
    			break;
    		}
    	}
    	if(n<=1){
    		r=false;
    	}
    	return r;
    }
    
    //将一个偶数拆成素数和的方案列出来
    void chaifeng(int n){
    	int i;
    	for(i=2;i<=n/2;i++){
    		if(sushu(i)==true&&sushu(n-i)==true){
    			cout<<n<<"="<<i<<"+"<<(n-i)<<endl;
    		}
    	}
    } 
    
    //将4~n的每个偶数拆成素数和的方案列出来
    void caixiang(int n){
    	int i;
    	for(i=4;i<=n;i=i+2){
    		chaifeng(i); 
    	}
    }
    int main(){
    	int n;cin>>n;
    	caixiang(n);
    }
    

    Python :

    import math;
    def suShu(n):
       f = True;
       for i in range(2,int(math.sqrt(n))+1):
              if n % i == 0:
                   f = False;
                   break;
       return f and n != 1;
    
    def chaiFen(n):
      for i in range(2,n // 2+1):
          if suShu(i) and suShu(n - i ):
                 print(n,end='=');
                 print(i,end='+');
                 print(n-i);
    
    
    n = int(input());
    for i in range(2,n+1,2):
        chaiFen(i)   ;
    
    
    
          
              
           
    
    
    • 1

    信息

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