C语言:输出100-999中所有水仙花数。
答案:5 悬赏:70
解决时间 2021-01-23 23:43
- 提问者网友:川水往事
- 2021-01-23 17:58
C语言:输出100-999中所有水仙花数。
最佳答案
- 二级知识专家网友:深街酒徒
- 2021-01-23 18:15
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。判断一个数是否为水仙花数需要拆分数位,求幂再相加。不过这道题限定了范围,都是三位数,所以可以使用3重循环分别代表3个数位,这样就省去了拆分的麻烦。
代码如下:
#include
int main()
{
int i, j, k, sum;
sum = 0;
for (i = 1; i < 10; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
if ((i*i*i + j*j*j + k*k*k) == (i*100 + j*10 + k))
printf("%d
", i*100 + j*10 + k);
return 0;
}
代码如下:
#include
int main()
{
int i, j, k, sum;
sum = 0;
for (i = 1; i < 10; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
if ((i*i*i + j*j*j + k*k*k) == (i*100 + j*10 + k))
printf("%d
", i*100 + j*10 + k);
return 0;
}
全部回答
- 1楼网友:行雁书
- 2021-01-23 22:27
#include<stdio.h>
#include<math.h>
void main()
{int n,a,b,c,i,j,k;
for(n=100;n<=999;n++)
{
a=n/100; b=n%100/10; c=n%10;
i=pow(a,3);j=pow(b,3);k=pow(c,3);
if(i+j+k==n)
printf("%d,%d,%d\n",a,b,c);
}
}
#include<math.h>
void main()
{int n,a,b,c,i,j,k;
for(n=100;n<=999;n++)
{
a=n/100; b=n%100/10; c=n%10;
i=pow(a,3);j=pow(b,3);k=pow(c,3);
if(i+j+k==n)
printf("%d,%d,%d\n",a,b,c);
}
}
- 2楼网友:鸽屿
- 2021-01-23 21:17
printf("%d is a daffodil number.
", i); // <-- 加个
- 3楼网友:街头电车
- 2021-01-23 20:21
printf("%d is a daffodil number\n.", i);就行了
- 4楼网友:杯酒困英雄
- 2021-01-23 19:35
再输出内容后加\n换行
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯