题目叙述:
水仙花数是 指一个三位数,它的每个位上的数字的 3 次幂之和等于它本身。(例如:153=13+53+35153=13+53+35)找到所有的水仙花数并按行打印,按从小到大的顺序输出。
思路:
首先确定范围,三位数(100--999),
其次确定百位、十位、个位要怎么表示,令一个位数为i
百位(a)a=i/100 eg:153/100=1;
十位(b)b=i%100/10 eg:153%100=53,53/10=5;
个位(c)c=i%100%10 eg:153%100=53,53%10=3;
确定好各位后,要进行判断这三位的立方和是否等于其本身
代码如下:
#include <stdio.h>
int main() {
int i,a,b,c;
for(i=100;i<=999;i++){
int a,b,c;
a=i/100;
b=i%100/10;
c=i%100%10;
if(i==a*a*a+b*b*b+c*c*c){
printf("%d\n",i);
}
}
return 0;
}
标签:10,153,eg,53,C语言,解决,100,水仙花
From: https://blog.csdn.net/weixin_52166831/article/details/136921236