1 条题解

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

    C :

    #include<stdio.h>
    void main(){
    int i;
    for(i=100;i<=999;i++){
    int a=i%1000/100;
    int b=i%100/10;
    int c=i%10/1;
    if(a*a*a+b*b*b+c*c*c==i){
    printf("%d\n",i);	
    	
    }	
    	
    	
    }	
    	
    	
    }
    

    C++ :

    #include<iostream>
    #include<math.h>
    using namespace std;
    int main(){
        int i = 100;
        while(i <= 999){ 
     int a = i / 100;
     int b = i / 10 % 10;
     int c = i % 10;
     if(a * a * a + b * b * b + c * c * c == i){ 
        cout<<i<<endl;
     }
     i++;
    }
    return 0;
    }
    

    Pascal :

    program sxh; 
    var a,b,c,d:integer; 
    begin 
    for a:=1 to 9 do 
    for b:=0 to 9 do 
    for c:=0 to 9 do begin 
    d:=100*a+10*b+c; 
    if b*b*b+c*c*c+a*a*a=d then writeln(d); 
    end; 
    end. 
    

    Java :

    public class Main{
    	public static void main(String[] args) {
    		for(int i=100;i<=999;i++){
    			if(isSxhs(i)){
    				System.out.println(i);
    			}
    		}		
    	}
    	public static boolean isSxhs(int n){
    		char[] charArray=String.valueOf(n).toCharArray();
    		int a=Integer.valueOf(String.valueOf(charArray[0]));
    		int b=Integer.valueOf(String.valueOf(charArray[1]));
    		int c=Integer.valueOf(String.valueOf(charArray[2]));
    		if(a*a*a+b*b*b+c*c*c==n){
    			return true;
    		}else
    		return false;
    	}
    }
    

    Python :

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

    【入门】求出100至999范围内的所有水仙花数。

    信息

    ID
    57
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    6
    已通过
    3
    上传者