1、代码如下:
2、printf("%d\n",i);//输出结果
3、可以通过C语言编程求出所有的水仙花数。
4、“水仙花数”是指一个三位数,其每位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
5、for(i=100;i<1000;i++)//取值范围
6、{a=i/100;//百位数
7、b=(i-a100)/10;//十位数
8、编程时可以使用循环语句和条件语句,依次判断每个三位数是否为水仙花数,并将结果输出。
9、;printf("%d\n",n)
10、输入结果:
11、voidmain()
12、main(){inti,j,k,n;scanf("%d",&n)
13、例如153就是一个水仙花数,因为1^3+5^3+3^3=153。
14、水仙花数指的是一个三位数,其各位数字的立方和等于该数本身。
15、基于此,利用for循环控制100-999个数,每个数分解出个位,十位,百位,再分别求立方相加并判断即可。
16、c=i%10;//个位数
17、if(i==aaa+bbb+cc*c)//判断各位上的立方和是否与原数n相等
18、inti,a,b,c;
19、printf("yes\n")
20、if(n==i*i*i+j*j*j+k*k*k)//判断是不是水仙花数。
21、在编程过程中,可以加入一些优化措施,比如只判断各位数字不重复的三位数,或者使用数学公式减少计算量,提高程序效率。
22、水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身(例如:1^3+5^3+3^3=153)。
23、;//输入你想要的数据,这个是判断三位数的。i=n/100;j=n/10-i*10;k=n%10;//上面i,j,k,是分别获取百位,十位,各位,上的数字。
24、#include
25、;//输出nelseprintf("no\n");}上面程序是只能判断三位数的,如果想更高的话,可以在判断各个位数上改动程序。