1、doublemyPow(doublea,intx)
2、return0;
3、intsum=0;
4、b/=10;
5、b=i//10%10
6、returnresu;
7、ifa**3+b**3+c**3==i:
8、if(count==0)
9、sum+=myPow(num,3);
10、if(daff(i))
11、intnum=0;
12、ifi==sum:
13、intdaff(inta)//返回1,表示是水仙花数。0表示不是。
14、scanf("%d%d",&m,&n);//输入要求m 15、for(i=0;i<1000;i++) 16、num=b%10; 17、returnflag; 18、intflag=0; 19、intdaff(inta);//判断一个数是不是水仙花数。 20、下面是求1000以内的水仙花数的Python代码: 21、digit=temp%10 22、intb=a; 23、这个代码中,最关键的就是while循环,此循环从temp中取出了三位数每一位数的值,实现了算法的核心计算。 24、main() 25、print(i) 26、for(i=m;i<=n;i++) 27、count++; 28、for(i=1;i<=x;i++) 29、temp=i 30、首先,从100到999遍历三位数。然后,用temp保存当前遍历的数i,以便计算其个位、十位、百位的立方和。接着,用while循环,取temp的个位数,计算其立方和,并将temp除以10去掉个位数。循环直到temp小于等于0,完成对i每个位数立方和的计算。最后,与i比较,若相等,则输出i,即这个三位数是一个水仙花数。 31、temp//=10 32、intmain() 33、intcount=0; 34、printf("%d",i); 35、a=i//100 36、flag=1; 37、if(sum==a) 38、水仙花数是指一个三位数的各位数字的立方和等于该数本身的数,例如153就是一个水仙花数,因为1的三次方+5的三次方+3的三次方等于153。编程实现时,可以利用循环从100到999遍历每个三位数,然后对每个数的百位、十位和个位进行立方求和,并与该数本身比较是否相等,若相等,则输出该数即为水仙花数。以下是Python语言的代码实现: 39、whiletemp>0: 40、sum=0 41、inti=0; 42、可以参考下面的代码: 43、resu*=a; 44、用C语言求1000以内的水仙花数可以用for循环。 45、inti=0,g,s,b,a=0; 46、intm=0,n=0; 47、doublemyPow(doublea,intx);//a的x次方。 48、水仙花数,指的是一个三位数(100-999),其个位、十位、百位数的立方和等于该数本身。例如:153=1³+5³+3³。 49、#include 50、foriinrange(100,1000): 51、doubleresu=1; 52、while(b) 53、printf("no"); 54、c=i%10 55、sum+=digit**3 56、程序运行结果为153、370、371、407,即这四个数都是水仙花数。