输出“水仙花”数,因此要先理解什么是“水仙花”数:所谓“水仙花数”是指
一个3位数,它的各位数字的立方和等于该数本身
即:a3+b3+c3等于a*100+b*10+c
例如,153=13+53+33。
Python
for p2 in range(1,1000): #------->水仙花数
bai=p2//100
shi=p2//10%10
ge=p2%10
if bai**3+shi**3+ge**3 == p2:
print(p2)
结果:
C语言
#include<stdio.h>
main()
{
float a,b,c,s;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
{
s=a*100+b*10+c;
printf("s=%f",s);
}
}
结果
对比:
Python C语言
1.一目了然,Python的代码量远小于C语言;
2.Python省去了变量的事先声明,可以直接进行使用,代码简洁不少;
3.C语言使用了3个循环,在个、十、百位上实现从1~999每个数字的出现进而使用条件去筛选水仙花数;而Python使用一个迭代的循环,直接实现1~999每个数字的出现;
4.平方、立方等幂的表达,Python表达简洁高级(doge)