C语言求水仙花数或阿姆斯特朗数

水仙花数(Narcissistic number),也叫阿姆斯特朗数(Armstrong number),是指一个三位数,其各位数字的立方和等于该数本身。例如:153=1+125+27,所以 153 就是一个水仙花数。求出所有的水仙花数。
解决该问题,需要根据水仙花数的定义,分离出个位,十位,百位数字,再按水仙花数性质判断。

  1. 百位数字a=i/100
  2. 十位数字b=i%100/10
  3. 个位数字c=i%10

代码如下:

#include
int main()
{
	int a,b,c;
	int i;
	printf("水仙花数为");
	for(i=100;i<1000;i++)
	{
		a=i/100;
		b=i%100/10;
		c=i%10;
		if(a*a*a+b*b*b+c*c*c==i)
		{
			printf("%d ",i);
		}
	}
	return 0;
}

最后得出结果
C语言求水仙花数或阿姆斯特朗数_第1张图片

你可能感兴趣的:(c语言)