有一道题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
看到这个题目后,我们想到的就是,如何将一个三位数的百位,十位,各位分解开来,然后,按照水仙数的定义去用程序进行测试。其中用到了除法和求余运算。代码如下:
#include <stdio.h>
int main(int argc,char *argv[]) { int i,count = 0; int i2,i1,i0; for (i=100;i<1000;i++) { i2 = i / 100; i1 = i / 10 % 10; i0 = i % 10 ; if (i2 * i2 * i2 + i1 * i1 * i1 + i0 * i0 * i0 == i) { printf("%d ",i); count ++; } } printf("\nthe count is:%d\n",count); system("pause"); return 0; }
|
阅读(4261) | 评论(0) | 转发(0) |