首先呢,我们来介绍一下什么是“水仙花数”?所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=1³+5³+3³。
接下来我们研究一下如何来求出所有的“水仙花数”,当然我们可以采用最简单粗暴的方法,从100开始到999结束,依次进行验证,看其各位数字立方和是否等于该数的本身。但是这种方法显然效率很低,又耗时又耗精力,所以这种方法不太可取。那么我们应该采用什么方法来进行求解呢?
我们可以借助编程,编写一个C语言程序来求出所有的“水仙花数”,如何来编写这个程序呢?首先,这个程序一定会用到循环,从100开始进行遍历一直到999结束;其次,我们要抓住判定一个数是否为“水仙花数”的关键条件,假如定义100-999任意一个数为i,我们要用含i的式子来表达i的各位数字,通过判定条件来求出“水仙花数”;最后,输出所有的“水仙花数”。以下是关于这个问题的程序:
#include<stdio.h>
int main(){
int a,b,c;
for(int i=100;i<=999;i++){
a=i%100%10;
b=i%100/10;
c=i/100;
if(a*a*a+b*b*b+c*c*c==i){
printf("%d\n",i);
}
}
return 0;
}
运行结果:
从运行结果可知,“水仙花数”一共有4个,分别是153、370、371、407。可见使用编程又准确效率又高,以上就是什么是“水仙花数”的介绍以及如何输出所有的“水仙花数”,本期就介绍到这里,谢谢大家,后续还会分享更多的干货,再见。
