判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 写出C++代码
时间: 2024-02-13 18:59:39 浏览: 94
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
int digit1 = num % 10; // 取个位数
int digit2 = (num / 10) % 10; // 取十位数
int digit3 = num / 100; // 取百位数
if (num == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
cout << num << "是水仙花数" << endl;
} else {
cout << num << "不是水仙花数" << endl;
}
return 0;
}
```
程序首先读入一个三位数,然后分别取出它的个位数、十位数和百位数。接着,使用if语句判断这个三位数是否等于它本身每位数字立方和的值,如果是,则输出该数是水仙花数,否则输出该数不是水仙花数。
相关问题
判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 153=1+125+27c语言
在C语言中,可以编写一个函数来判断一个三位数是否为水仙花数。下面是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
int isWaterLily(int num) {
// 分解数字为百位、十位和个位
int hundred = num / 100;
int ten = (num % 100) / 10;
int unit = num % 10;
// 计算每位数字的立方和
int sum_of_cubes = pow(hundred, 3) + pow(ten, 3) + pow(unit, 3);
// 判断和是否等于原数
if (sum_of_cubes == num)
return 1; // 是水仙花数,返回1
else
return 0; // 不是水仙花数,返回0
}
int main() {
int input;
printf("Enter a three-digit number to check if it's a Water Lily number: ");
scanf("%d", &input);
if (isWaterLily(input))
printf("%d is a Water Lily number.\n", input);
else
printf("%d is not a Water Lily number.\n", input);
return 0;
}
```
这个程序定义了一个名为`isWaterLily`的函数,它接收一个三位数作为参数,计算并比较每位数字立方和与原始数字是否相等。如果相等,则返回1(表示是水仙花数),否则返回0。
定义一个函数isPPDI判断给定的数是否为水仙花数(水仙花数是一个三位数且该数等于各位上的数字立方之和。注意如果不是三位数则认为不是水仙花数,例如1),主函数中调用自定义函数。
在Python中,你可以定义一个名为`is_PPDI`的函数,用于检查一个整数是否是水仙花数。这里是一个简单的实现:
```python
def is_PPDI(num):
# 检查输入是否为三位数
if num < 100 or num > 999:
return False
# 将数字转换成字符串以便获取每一位
str_num = str(num)
# 计算每位数字的立方并相加
digit_sum = sum(int(digit) ** 3 for digit in str_num)
# 如果总和等于原数,则它是水仙花数,返回True;否则返回False
return digit_sum == num
```
这个函数首先检查输入的数字是否在三位数范围内。然后,它将数字拆分为单个位,并计算每个位的立方和。如果这个和等于原始数字,那么它就是水仙花数。
在主函数中,你可以像这样调用这个函数:
```python
def main():
user_input = int(input("请输入一个三位数: "))
result = is_PPDI(user_input)
if result:
print(f"{user_input} 是水仙花数")
else:
print(f"{user_input} 不是水仙花数")
if __name__ == "__main__":
main()
```
阅读全文
相关推荐















