满意答案
xlmzww123
2020.01.22
采纳率:42% 等级:9
已帮助:165人
水仙花数即三位的自幂数。所谓自幂数,就是指一个
n
位数
(
n≥3
),其每位上的数字的
n
次幂之和内等于本身。
所以水仙花数,首先是三位数,形式为abc,同时a,b,c的立方和值与原本数相同。
类似的还有
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
等等。
对于水仙花数的判断,需要按照以下步骤:
1
提取该数的个位容,十位,百位值。
2
计算三个数的立方和。
3
与原值比较,如相等则是。
要输出所有水仙花数,需要:
1
对所有三位数,即100到999遍历;
2
对每个数判断是否为水仙花数,如是则退出。
当循环结束,所有的水仙花数就输出成功了。
代码如下:
int
isNarcissistic(int
n)
{
int
a
=
n/100;
int
b
=
n/10%10;
int
c
=
n%10;
return
a*a*a
+
b*b*b
+
c*c*c
==
n;
}
int
main()
{
int
i;
for(i
=
100;
i<
1000;
i
++)
if(isNarcissistic(i))
printf("%d
",i);
}
输出结果如下:
153
370
371
407
00分享举报