## 水仙花数的C语言实现

水仙花数C语言实现

水仙花数的定义:所谓水仙花数,是指一个 3 位数,它的每位数字的立方之和等于该数。例如,因为 153=1+5+3。

需要知道的的知识:
%作为运算符是用来取余的,/是除法运算。
例如:除法运算式 65 ÷8 = 8余1
那么 65 / 8 = 8 65 %8 = 1

目的:求出100-999的所有水仙花数
不妨设百位十位个位为xyz,次数为i,由定义可列出相关关系式求解,i=x3+y3+z*3,那么对xyz嵌套三个for循环,求i值只能赋值,无从验证;还有一个条件用i来表示xyz:

i=100x+10y+z;
那么***x = i/100;y = (i%100)/10;z = i % 10;将此条件加于i=x3+y3+z3之前,可以验证i是否符合条件,从而求出水仙花数。

#include <math.h>
#include <stdio.h>
int main()
{
	int i, x, y, z;//百位十位个位xyz
	for (i = 100; i <=999; i++)
	{
		x = i/100;
		y = (i%100)/10;
		z = i % 10;
		if (i==x * x * x + y * y * y + z * z * z)
			printf("水仙花数是:%d\n", i);
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值