1、sum=0
2、ifi==sum:
3、digit=temp%10
4、inta,b,c;
5、intn,a,b,c;
6、首先,从100到999遍历三位数。然后,用temp保存当前遍历的数i,以便计算其个位、十位、百位的立方和。接着,用while循环,取temp的个位数,计算其立方和,并将temp除以10去掉个位数。循环直到temp小于等于0,完成对i每个位数立方和的计算。最后,与i比较,若相等,则输出i,即这个三位数是一个水仙花数。
7、if(a*a*a+b*b*b+c*c*c==n)printf("%d\n",n);
8、return0;
9、c=n%10;
10、intmain(void)
11、for(n=100;n<=999;n++)
12、a=n/100;
13、#include
14、print(i)
15、#include
16、加一下就可以了,
17、if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
18、whiletemp>0:
19、printf("%d%d%d\n",a,b,c);
20、水仙花数,指的是一个三位数(100-999),其个位、十位、百位数的立方和等于该数本身。例如:153=1³+5³+3³。
21、foriinrange(100,1000):
22、这个代码中,最关键的就是while循环,此循环从temp中取出了三位数每一位数的值,实现了算法的核心计算。
23、用C语言求1000以内的水仙花数可以用for循环。
24、C语言:
25、inti=0,g,s,b,a=0;
26、b=n%100/10;
27、main()
28、水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。
29、下面是求1000以内的水仙花数的Python代码:
30、可以参考下面的代码:
31、三位的水仙花数共有4个:153,370,371,407;
32、temp//=10
33、sum+=digit**3
34、for(b=0;b<=9;b++)
35、temp=i
36、+370+371+407=1301
37、for(a=1;a<=9;a++)
38、for(c=0;c<=9;c++)
39、for(i=0;i<1000;i++)