1 条题解

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

    C :

    #include<stdio.h>
    #include<math.h>
    int prime(int a)
    {
    	int sum=0;
    	for(int i=2;i<a;i++){
    		if(a%i==0)sum++;
    	}
    	return sum;
    }
    int p(int n)
    {
    		int a,b,c;
    		a=n%10;
    		b=n%100/10;
    		c=n/100;
    		if(prime(b+c)!=0&&b>a+c&&a!=b&&a!=c&&b!=c)
    			return 1;
    		else return 0;	
    }
    int main()
    {
    	for(int i=100;i<1000;i++)
    	if(p(i))
    	printf("%d\n",i);
    	return 0;
    }
    

    C++ :

    #include <iostream>
    #include <iomanip>
    #include <cmath>
    
    using namespace std;
    
    int main(){
    	int x,i,g,s,b,j;
    	bool f=false;
    	for(i=100;i<=999;i++){
    		g=i%10;
    		s=i/10%10;
    		b=i/100;
    		if(g!=s&&s!=b&&b!=g&&s>g+b){
    			x=s+b;
    			for(j=2;j<=sqrt(x);j++){
    				if(x%j==0){
    					f=true;
    					cout<<i<<endl;
    					break;
    				}
    			}
    		}
    		
    		
    	}
    }
    

    Pascal :

    var g,s,b,t,c,i,j:integer;
    begin
      for i := 100 to 999 do
      begin
        g := i mod 10;
        s := i div 10 mod 10;
        b := i div 100;
         
        if (g <> b) and (g <> s) and (s <> b) and (g + b < s) then
        begin
          t := s + b;
          c := 0;
          for j := 2 to trunc(sqrt(t)) do
            if t mod j = 0 then
            begin
              c := 1;
              break;
            end;
           
          if(c <> 0) or (t = 1) then
            writeln(i);
        end;
         
      end;
       
      readln;
    end.
    

    Java :

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args){
    		//Scanner sc = new Scanner(System.in);
    		for(int i=100;i<=999;i++){
    			int b=i/100;
    			int s=i/10%10;
    			int g=i%10;
    			if(s>(b+g)&&b!=s&&b!=g){
    				int t=0;
    				for(int p=2;p<=Math.sqrt(b+s);p++){
    					if((b+s)%p==0){
    						System.out.println(i);
    						break;
    					}
    				}
    			}
    		}
    	}
    }
    
    
    

    Python :

    def zs(n):
        if n==1:
            return 0
        elif n==2:
            return 1
        else:
            for i in range(2,int(n**0.5)+1):
                if n%i==0:
                    return 0
            return 1
    
    for i in range(100,1000):
        g=i%10
        s=i//10%10
        b=i//100
        if g!=s and s!=b and g!=b and s>(b+g) and zs(s+b)==0:
            print(i)
            
    
    
    
    • 1

    信息

    ID
    87
    时间
    1000ms
    内存
    512MiB
    难度
    8
    标签
    递交数
    43
    已通过
    8
    上传者