#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int all_number(char *p,int sz) { if(*p=='\0') { return 0; } else { return pow(*p,sz) + pow(*(++p),sz); } } int main () { int n = 0; char arr[6]; for(n=0;n<100000;n++) { sprintf(arr,"%d",n); int sz = strlen(arr); int num = all_number(arr,sz); if(n==num) { printf("%d ",n); } } return 0; }
时间: 2024-04-01 16:35:02 浏览: 84
The Standard C Library 经典的基础.docx
这段代码是一个求水仙花数的程序,水仙花数是指一个三位数各位数字的立方和等于该数本身的数。这个程序使用了一个 all_number 函数来计算一个数的各位数字的立方和,然后在主函数中遍历所有三位数,依次计算它们的各位数字的立方和,如果等于该数本身,则输出该数。
具体来说,这个程序的输出结果是所有的水仙花数,即 153、370、371 和 407。
阅读全文