C趣味程序百例(07)阿姆斯特朗数

文章作者 100test 发表时间 2007:03:10 17:28:12
来源 100Test.Com百考试题网


23.阿姆斯特朗数
如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
如 407=43 03 73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。
*题目分析与算法设计
可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。
*程序说明与注释
#include
void 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("]",i). /*若满足条件,则输出*/

}
printf("\n").
}
*运行结果
There are following Armstrong number smaller than 1000:
153 370 371 407

相关文章


C趣味程序百例(07)求车速
辽宁:11月高校计算机考试3万8千余人报名
C趣味程序百例(07)阿姆斯特朗数
福建:2006年下半年NCRE网上申办免考将于11月7日截止
C趣味程序百例(07)4位反序数
黑龙江06年11月高校计算机等考特别介绍
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛