如果一个3位数等于其各位的立方和,称该数为水仙花数。
如,所以407是一个水仙花数,编写一个程序找出100~999之间所有的水仙花数。
1 #include<stdio.h> 2 #include<stdlib.h> 3 //判断水仙花数,是则返回1 4 int isNarcissus(int n); 5 6 int main() 7 { 8 int i; 9 for(i = 100; i < 1000; i++) 10 if(isNarcissus(i)) 11 printf("%4d",i); 12 printf(" "); 13 14 system("pause"); 15 return 0; 16 } 17 //判断n是否是水仙花数,是则返回1,否则返回0 18 int isNarcissus(int n) 19 { 20 int sum = 0;//记录立方和 21 int temp = n;//暂存该数 22 while(temp > 0) 23 { 24 sum = sum + (temp % 10) * (temp % 10) * (temp % 10); 25 temp /= 10; 26 } 27 if(sum == n) 28 return 1; 29 else 30 return 0; 31 }