实验2-3-9 判断一个三位数是否为水仙花数

//实验2-3-9 判断一个三位数是否为水仙花数

/*
判断一个给定的三位数是否为水仙花数。
三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
*/

#include<stdio.h>
#include<math.h>
int main(){
	int a;
	scanf("%d",&a);
	int ge,shi,bai;
	ge=(a-a*ge)%10;
		printf("个位数字是:%d\n",ge);
	shi=(a%100)/10;
		printf("十位数字是:%d\n",shi);
	bai=a/100;
		printf("百位数字是:%d\n",bai);
	if(a==ge*ge*ge+shi*shi*shi+bai*bai*bai)
		printf("YES");
	else
		printf("NO");
}

在这里插入图片描述

### 回答1: 。可以使用以下步骤来判断一个三位数是否水仙花数: 1. 将该数拆分为个位、十位和百位数字。 2. 计算这些数字的立方和。 3. 比较计算结果与原数是否相等。 如果计算结果与原数相等,则该数为水仙花数,否则不是。 以下是一个示例程序: num = int(input("请输入一个三位数:")) # 拆分数字 a = num // 100 b = (num // 10) % 10 c = num % 10 # 计算立方和 sum = a**3 + b**3 + c**3 # 判断是否水仙花数 if sum == num: print(num, "是水仙花数") else: print(num, "不是水仙花数") ### 回答2: 水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。编写程序来判断一个给定的三位数是否水仙花数判断一个三位数是否水仙花数的方法很简单,只需要分离出该数的个位、十位、百位上的数字,然后将它们的立方和计算出来,看是否等于该数本身。下面是一个示例代码: ```python num = int(input('请输入一个三位数:')) a = num % 10 # 个位数字 b = (num // 10) % 10 # 十位数字 c = (num // 100) % 10 # 百位数字 if a**3 + b**3 + c**3 == num: print(num, '是水仙花数') else: print(num, '不是水仙花数') ``` 示例代码首先使用 `input()` 函数获取用户输入的一个三位数,并将其转化为整型变量 `num`。接下来使用取模运算 `%` 和整除运算 `//` 来分离出其个位、十位和百位上的数字,分别保存在变量 `a`、`b` 和 `c` 中。然后将它们的立方和计算出来,并与原数 `num` 进行比较。如果两者相等,则说明该数是水仙花数,否则就不是水仙花数。 需要注意的是,水仙花数只是自然数中的一个特例,也就是说,有很多其他类似的数,例如四位数的四次方数、五位数的五次方数等等。我们可以采用类似的方法来判断这些数是否成立。 ### 回答3: 水仙花数一个很特殊的数字,它的个位、十位、百位上的数字的立方和恰好等于该数本身。如果一个三位数满足该条件,那么它就是一个水仙花数,否则不是。判断一个给定的三位数是否水仙花数,需要编写一个程序进行判断。 首先,我们可以使用循环语句来遍历所有可能的三位数,从100到999进行循环判断。针对每个数字,可以分别获取它的个位、十位、百位上的数字,然后计算它们的立方和,最后与该数字本身进行比较。如果两者相等,则该数字是水仙花数,否则不是。 具体实现可以按照以下步骤进行: 1. 循环遍历所有三位数,从100到999,使用for循环语句。 2. 在循环中,获取当前数字的个位、十位、百位上的数字,可以通过取余运算和整除运算来实现。 3. 计算这三个数字的立方和,可以使用pow函数来求解。 4. 将计算得到的立方和与该数字本身进行比较,如果相等则输出该数字是水仙花数,否则不是。 下面是使用C语言编写的程序实现: ```c #include <stdio.h> #include <math.h> int main() { int num, digit, sum; for (num = 100; num <= 999; num++) { digit = num % 10; // 获取个位数字 sum = pow(digit, 3); // 计算个位数字的立方 digit = num / 10 % 10; // 获取十位数字 sum += pow(digit, 3); // 计算十位数字的立方 digit = num / 100; // 获取百位数字 sum += pow(digit, 3); // 计算百位数字的立方 if (num == sum) // 判断是否水仙花数 { printf("%d是水仙花数\n", num); } } return 0; } ``` 以上程序输出所有三位水仙花数,结果如下: ```c 153是水仙花数 370是水仙花数 371是水仙花数 407是水仙花数 ``` 因为三位水仙花数只有四个,所以该程序只输出四个结果,每行一个水仙花数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值