天天看点

编程实现水仙花数

水仙花数定义各个位数立方和等于它本身的三位数。

通过上面已知水仙花数是一个三位数,也就是100到999之间;要求是每位数的立方和等于它本身。

分析:假设要判断的数是num则这上数的个、十、百位的数字应该是:

个位:g=num%10;

S=num/10%10;

B=num/100;

要求满足条件:ggg+sss+bbb==num;

所以用穷举的方法代码如下:

#include "stdio.h"
void main()
{
    int num;//定义数变量
    int g,s,b;//定义个、十、百位变量名
    printf("水仙共数有:");
    for(num=100;num<=999;num++)//穷举测试
    {
    	g=num%10;      //个位数
    	s=num/10%10;   //十位数
    	b=num/100;     //百位数
    	if(g*g*g+s*s*s+b*b*b==num)   //判断条件
    	{
    		printf("%d\t",num);
    	}    	
    }    
}
           

继续阅读