【C语言编程】打印所有的“水仙花数”

打印所有“水仙花数”

所谓“水仙花数”,是指一个三位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=1的立方+ 5的立方+ 3的立方。

方法一:使用do…while语句

#include <stdio.h>
#include <math.h>	

int main()
{	
	int num=100,a,b,c;

	do
	{	
	    //首先将三位数的各位提取出来//	
		a=num/100;    //百位
	    b=num/10%10;  //十位
	    c=num%10;     //个位

		//if(num==(a*a*a+b*b*b+c*c*c))//可以用这条代码替换下面那条
	    if(num==(pow(a,3)+pow(b,3)+pow(c,3)))//使用pow()函数必须添加头文件<math.h>
	    printf("%d  \n",num);

	    num++;
	}
	while (num<1000);
	
	return 0;
}

运行结果:
153
370
371
407

方法二:使用for循环语句

#include<stdio.h> 
#include<math.h> 

int main()
{
	int i,sum;
	printf("水仙花数有:");
	for(i=100;i<1000;i++)
	{
		sum=(i/100)*(i/100)*(i/100)+(i%100/10)*(i%100/10)*(i%100/10)+(i%100%10)*(i%100%10)*(i%100%10);
		if(i==sum)
		{
		   printf("%d\n",sum);	
		}		
	}
	return 0;
}

运行结果:
153
370
371
407

编译软件:Dev C++;

^ v ^

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值