c语言学习:【3】求水仙花数(c语言学习)。

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153),下面我就简单介绍下如何求水仙花数

c语言学习:【3】求水仙花数(c语言学习)。

材慢今标怀增洋货林曲率既料/工具

电脑

方法

方法一
#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;
}
w实hile(m!=0);
if(sum==i)
printf("%d ",i);
}
printf("\n");
return 0;
}
运行结果:
153 370 371 407
Press any key to continue

c语言学习:【3】求水仙花数(c语言学习)。

方法二
#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("%d\n ",n);
}
return 0;
}
失绍沙排识笑制难火味结果:
水仙花数:153
370
371
407

c语言学习:【3】求水仙花数(c语言学习)。

方法三
#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("%d\n ",n);
}
return 0;
}
输出结果:
水仙花数:153
370
371
407

c语言学习:【3】求水仙花数(c语言学习)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 951076433@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:https://www.xiaomafuwu.com/152989.html

(0)
代码小二的头像代码小二

相关推荐