当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
C语言实例:阿姆斯特朗数
发布时间:2010/1/26 21:30:34 来源:城市学习网 编辑:海蓝

  如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。

  如 407=64+0+343就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。

  *问题分析与算法设计

  可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。

  *程序说明与注释

  #include<stdio.h>

  int main()

  {

  int i,t,k,a[3];

  printf("There are follwing armstrong number smaller than 1000:\n");[NextPage]

  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

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved