1 条题解

  • 0
    @ 2023-3-13 11:08:50

    C :

    #include<stdio.h>
    
    int fun(int n){
    	int r=1,i;
    	for(i=1;i<=n;i++){
    		r=r*i;
    	}
    	return r;
    }
    
    void main(){
    	int g,s,b,i,x1,x2,x3;
    	for(i=100;i<=999;i++){
    		g=i%10;
    		s=i/10%10;
    		b=i/100;
    		x1=fun(g);
    		x2=fun(s);
    		x3=fun(b);
    		if(i==x1+x2+x3){
    			printf("%d",i);
    		}
    	}
    }
    

    C++ :

    #include<iostream>
    using namespace std;
    int fac(int n){
    	int r=1;
    	for(int i=1;i<=n;i++){
    		r=r*i;
    	}
    	return r;
    }
    
    int main(){
    	int a,b,c;
    	int m;
    	for(int i=100;i<=999;i++){
    			a=i/100;
    			b=i%100/10;
    			c=i%10;			
    		if(i==fac(a)+fac(b)+fac(c)){
    			m=i;	
    			break;
    		}		
    	}
    	cout<<m<<endl;
    	return 0;
    }
    

    Pascal :

    begin
    write('145');
    end.
    

    Java :

    public class Main {
    	public static void main(String[] args) {
    		int a = 0;
    		int b = 0;
    		int c = 0;
    		
    		
    		for(int i = 100; i < 1000; i++) {
    			a = i / 100;	
    			b = i / 10 % 10;
    			c = i % 10;
    			int sum1 = 1;
    			int sum2 = 1;
    			int sum3 = 1;
    			
    			for(int k = 1; k <= a; k++) {
    				sum1 *= k;
    			}
    			
    			for(int j = 1; j <= b; j++) {
    				sum2 *= j;
    			}
    			for(int t = 1; t <= c; t++) {
    				sum3 *= t;
    			}
    			
    			if(i == sum1 + sum2 + sum3) {
    				System.out.println(i);
    			}
    			
    		}
    	}
    }
    

    Python :

    import math
    
    for n in range(100,1000):
        a=n//100
        b=n//10%10
        c=n%10
        if n==math.factorial(a)+math.factorial(b)+math.factorial(c):
            print(n)
        n+=1
    
    • 1

    信息

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