求解水仙花数,水仙花数是三位数,各位数字的立方和等于这个三位数本身, 如:371=3*3*3+7*7*7+1*1*1,则371就是一个水仙花数。请使用while循环实现。

求解水仙花数,水仙花数是三位数,各位数字的立方和等于这个三位数本身,
如:371=3*3*3+7*7*7+1*1*1,则371就是一个水仙花数。请使用while循环实现。

public class test {

public static void main(String []args){

    int p=100;
    while(p<=999){
        if(getNum(p)){
            System.out.println(p);
        }
        p++;
    }
}

static boolean getNum(int num){
    int x = num/100;
    int y = num/10%10;
    int z = num%10;

    if(num == x*x*x+y*y*y+z*z*z){
        return true;
    }else{
        return false;
    }
}

}

 private void CheckBtn_Click(object sender, RoutedEventArgs e)
        {
            List<int> Results = new List<int>();
            int i = 99;
            while (i <= 999)
            {
                i++;
                int ge = int.Parse(i.ToString().Substring(2, 1));
                int shi = int.Parse(i.ToString().Substring(1, 1));
                int bai = int.Parse(i.ToString().Substring(0, 1));
                if (Check(ge, shi, bai))
                {
                    Results.Add(i);
                }
            }
        }
        bool Check(int ge, int shi, int bai)
        {
            int result = ge * ge * ge + shi * shi * shi + bai * bai * bai;
            int input = bai * 100 + shi * 10 + ge;
            if (result== input)
            {
                return true;
            }
            return false;
        }