1 条题解

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

    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);
    }
    

    Pascal :

    program ex_1087;
    var n,m,i,s1,s2:integer;
    function pd(x:integer):boolean;
    var i,j:integer;
    begin
    i:=2;
    while(x mod i<>0) and (i<x) do inc(i);
    if i=x then pd:=true else pd:=false;
    end;
    begin
    readln(m);
    n:=4;
    while n<=m do
    begin
    for i:=2 to n div 2 do
    begin
    s1:=i;
    s2:=n-i;
    if (pd(s1)=true) and (pd(s2)=true) then writeln(n,'=',s1,'+',s2)
    end;
    n:=n+2;
    end;
    end.
    

    Java :

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int a = sc.nextInt();
    		for(int i = 4; i <=a ; i++) {
    			if(i % 2 == 0) {
    				for(int k = 2; k < a ; k++) {
    					for(int t = 2; t < a ; t++) {
    						boolean f = suShu(k);
    						boolean u = suShu(t);
    						if(f & u) {
    							if(i == k + t ) {
    								if(k <= t){
    									System.out.println(i+"="+k+"+"+t);
    								}
    								
    							}
    						}
    					}
    				}
    			}
    		}
    	}	
    
    
    	public static boolean suShu(int a){
    		boolean p = false;
    		int count = 0;
    		for(int j=2;j<a;j++){
    			if(a % j == 0){
    				count++;
    				break;
    			}
    		}
    		if(count==0){
    			p = true;
    		}
    		return p;
    	}
    	
    	
    	
    }
    
    
    
    

    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
    130
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    3
    已通过
    2
    上传者