如何用c语言编程找1000以内的所有 水莲花数(阿姆斯特朗数)
展开全部
#include<stdio.h>
int main()
{
int i,t,k,a[3];
printf("There are follwing armstrong number smaller than 1000:\n");
for(i=2;i<1000;i++) /*穷举要判定的数i的取值范围2~1000*/
{
for(t=0,k=1000;k>=10;t++) /*截取整数i的各位(从高向低位)*/
{
a[t]=(i%k)/(k/10); /*分别赋于a[0]~a[2}*/
k/=10;
if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)
/*判断i是否为阿姆斯特朗数*/
printf("%5d",i); /*若满足条件,则输出*/
}
printf("\n");
}
*运行结果
There are following armstrong number smaller than 1000:
153 370 371 407
int main()
{
int i,t,k,a[3];
printf("There are follwing armstrong number smaller than 1000:\n");
for(i=2;i<1000;i++) /*穷举要判定的数i的取值范围2~1000*/
{
for(t=0,k=1000;k>=10;t++) /*截取整数i的各位(从高向低位)*/
{
a[t]=(i%k)/(k/10); /*分别赋于a[0]~a[2}*/
k/=10;
if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)
/*判断i是否为阿姆斯特朗数*/
printf("%5d",i); /*若满足条件,则输出*/
}
printf("\n");
}
*运行结果
There are following armstrong number smaller than 1000:
153 370 371 407
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询