1、问题及代码
/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:李先声
*完成日期:2020年11月15日
*版 本 号:v1.0
*问题描述:【项目5-阿姆斯特朗数】
如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
试编程求1000以内的所有阿姆斯特朗数。
*/
#include <stdio.h>
int main( )
{
int n,a,b,c,x;
for(n=1;n<1000;n++)
{
a=n/100;//百位数
b=(n%100)/10;//十位数
c=(n%100)%10;//个位数
x=a*a*a+b*b*b+c*c*c;
if(n==x)
{
printf("%d\n",n);
}
}
return 0;
}
2、计算结果
3、老师提供的答案更好
#include <stdio.h>
int main()
{
int i,m,k,n;
for(n=1; n<=1000; ++n)
{
//计算n的各位数的立方和m
k=n;
m=0;
while(k>0)
{
i=k%10;
m+=i*i*i;
k=k/10;
}
if(m==n) //n和其各位数的立方和相等
{
printf("%d\t", m);
}
}
printf("\n");
return 0;
}