1 条题解

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

    C :

    #include<stdio.h>
    int suShu(int x){
    		int i;
    	if(x>1){
    		int c=0;
    		for(i=2;i<=x/2;i++){
    			if(x%i==0){
    				c++;
    				break;
    			}
    		}
    		if(c==0){
    			return 1;
    		}else{
    			return 0;
    		}
    	}else{
    		return 0;
    	}
    }
    int main()
    {
    	int a,b;
    	for(a=2;a<=100;a++){
    		for(b=a+1;b<=100;b++){
    			if(suShu(a)&&suShu(b)&&suShu((a+b)/2)&&(a+b)%2==0){
    				printf("%d %d %d\n",a,(a+b)/2,b);
    			}
    		}
    			
    	}
    	return 0;
    }
    

    C++ :

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

    Pascal :

    var a:array[1..100] of integer;
    i,j,t,b,c:integer;
    function pd(x:integer):boolean;
    var i:integer;
    begin
    pd:=true;
    for i:=2 to trunc(sqrt(x)) do
    if x mod i=0 then begin pd:=false;break; end;
    end;
    begin
    t:=0;
    for i:=2 to 100 do
    if pd(i) then
    begin 
    inc(t);
    a[t]:=i;
    end;
    for i:=1 to t-1 do
    for j:=i+1 to t do
    begin
    b:=(a[i]+a[j]) div 2 ;
    c:= (a[i]+a[j]) mod 2 ;
    if (c=0) and pd(b) then writeln(a[i],' ',b,' ',a[j])
    end;
    end.
    

    Java :

    import java.util.Scanner;
    
    
    public class Main {
    	public static int sushu(int n){
    		if(n>1){
    			int s=0;
    			for(int i=2;i<=Math.sqrt(n);i++){
    				if(n%i==0){
    					s++;
    					break;
    				}
    			}
    			if(s==0){
    				return 1;
    			}
    			else{
    				return 0;
    			}
    		}
    		else{
    			return 0;
    		}
    	}
    	
    
    	
    	public static void main(String[] args) {
    		for(int i=2;i<=100;i++){
    			for(int j=i+1;j<=100;j++){
    				if(sushu(i)==1&&sushu(j)==1&&sushu(2*j-i)==1&&(2*j-i)<=100){
    					System.out.println(i+" "+j+" "+(2*j-i));
    				}
    			}
    		}
    	}
    
    }
    
    

    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
    
    for i in range (1, 100):
            for e in range (i + 1, 100):
                    if suShu(i) and suShu(e) and suShu((i+e)//2) and (i + e) % 2 == 0:
                            print(i, (i+e)//2, e)
    
    
    • 1

    信息

    ID
    139
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    7
    已通过
    0
    上传者