【C语言】求100到999之内的水仙花数

代码

:水仙花数,即一个三位数,满足其各位数字立方之和等于该数本身。

关键点:如何分离一个三位数的个位、十位、百位?

可以以数字123为例:

123%10=3,3即为123的个位数;
123/100=1,1即为123的百位数;
(123-1*100-3)/10=2,2即为123的十位数。如此即可。

//求100到999之内的水仙花数 
#include <stdio.h>
#define N 999
int main()
{
    
    
	int a,b,c,i;
	for(i=100;i<=N;i++)
	{
    
    
		a=i%10;//分离个位数字a 
		b=i/100;//分离百位数字b
		c=(i-b*100-a)/10; //分离十位数字c
		
		if((a*a*a + b*b*b + c*c*c)==i)
		printf("%d\n",i); 
	}
	return 0;
	
}

输出

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44731019/article/details/123608991