//打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身 //例如:153=1^3+5^3+3^3,则153是一个水仙花数 //#include<math.h>//用到了pow--求次方运算 //int main()//判断是否为水仙花数---i(n位数)的每一位的n次方之和等于i // //思路:1.计算i的位数 // //2.计算i的每一位的n次方之和 // //3.与i尽行比较,判断 //{ // int i = 0; // for (i = 0; i <= 10000; i++) // { // int tmp = i;//把i的值赋给tmp,目的不让i的值改变 // int n = 1;//n表示几位数,i最小也为一位数,所以n最小为1 // //思路:1.计算i的位数 // while (tmp / 10)//非0为真,进 0为假,出循环 // { // n++; // tmp = tmp / 10; // } // //2.计算i的每一位的n次方之和 // tmp = i;//把i的值赋给tmp,目的不让i的值改变 // int sum = 0; // while (tmp) // { // sum+=pow(tmp % 10,n);//tmp%10的n次方 // tmp = tmp / 10; // } // //3.与i进行比较,判断 // if (sum == i) // { // printf("%d ",i); // } // } // return 0; //}