电脑

当前位置 /首页/游戏数码/电脑/列表

c语言学习:求水仙花数

在学习c语言中,怎么求水仙花数,下面一起来看看吧。

操作方法

(01)水仙花数是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数。

c语言学习:求水仙花数

(02)方法一#include <stdio.h>#include <math.h>int main(){int i,m,sum;for(i=100;i<1000;i++){sum=0;m=i;do{sum=sum+pow(m%10,3);//pow(a,b)是指a的b次幂是double型的 m=m/10;}while(m!=0);if(sum==i) printf("%d ",i);}printf("n");return 0;} 运行结果:153 370 371 407 Press any key to continue

c语言学习:求水仙花数 第2张

(03)方法二 #include <stdio.h>int main(){int i,j,k,n;printf("水仙花数:",n);for(n=100;n<1000;n++){i=n/100; j=(n-i*100)/10; k=n-i*100-j*10;if(n==i*i*i+j*j*j+k*k*k) printf("%dn ",n);}return 0;} 结果:水仙花数:153 370 371 407

c语言学习:求水仙花数 第3张

(04)方法三 #include <stdio.h>int main(){int i,j,k,n;printf("水仙花数:",n);for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k) printf("%dn ",n);}return 0;} 输出结果:水仙花数:153 370 371 407

TAG标签:水仙花 语言 学习 #