|
发表于 2020-2-18 14:09:03
|
显示全部楼层
本帖最后由 4goodworld 于 2020-2-18 14:11 编辑
- //打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。
- //例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
- //
- int main_11() {
- int x, k, y;
- for (x = 100; x <=999; x++)
- {
- char num[4];
- int a, b, c;
- num[0] = x / 100 + 48; //取百位
- num[1] = (x / 10) % 10 + 48; //取十位
- num[2] = x % 10 + 48; //取个位
- //num[3] = '\0';
- a = (int)(num[0] - '0');
- b = (int)(num[1] - '0');
- c = (int)(num[2] - '0');
- if (x == (a*a*a + b*b*b + c*c*c)) {
- printf("%d\n",x);
- }
-
- }
- system("pause");
- return 0;
- };
复制代码
我以前写的,这个写法现在再看有点卖弄,你凑合着看看
无非是把一个三位数的百位、十位、个位取出来,这是要点,你可以研究下整除的方法 |
|