编写一个C++函数,判断一个数是否为水仙花数
时间: 2024-03-20 07:42:12 浏览: 67
好的,下面是判断一个数是否为水仙花数的C++函数:
```c++
bool isNarcissisticNumber(int num) {
int sum = 0;
int temp = num;
// 计算每一位的立方和
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
// 判断是否为水仙花数
if (sum == num) {
return true;
} else {
return false;
}
}
```
这个函数接收一个整数作为参数 `num`,计算 `num` 的每一位的立方和,并和 `num` 比较是否相等,如果相等则返回 `true`,否则返回 `false`。
相关问题
编写一个c++代码查找一个数的水仙花数和个数
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。编写一个C++程序来查找所有小于一定范围内的水仙花数并计算它们的数量,你可以这样做:
```cpp
#include <iostream>
#include <vector>
bool is_armstrong_number(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return num == sum;
}
int find_armstrong_numbers(int limit) {
int count = 0;
for (int i = 100; i <= limit; ++i) {
if (is_armstrong_number(i)) {
count++;
std::cout << i << " ";
}
}
return count;
}
int main() {
int range;
std::cout << "请输入一个整数范围上限: ";
std::cin >> range;
int water_lily_count = find_armstrong_numbers(range);
std::cout << "\n在给定范围内有 " << water_lily_count << " 个水仙花数。\n";
return 0;
}
```
这个程序首先定义了一个函数`is_armstrong_number`用于检查一个数是否为水仙花数,然后在`find_armstrong_numbers`函数中遍历指定范围内的每个数,并计数水仙花数。最后,在`main`函数中获取用户输入的范围并打印结果。
写一个函数,用于判断一个数是否为水仙花数,运用值传递
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153 是水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
要编写一个函数来检查一个整数是否是水仙花数,你可以使用 C++ 的值传递(pass by value)方式。这里是一个简单的函数示例:
```cpp
#include <iostream>
// 函数声明
bool isNarcissisticNumber(int num);
int main() {
int input;
std::cout << "Enter a three-digit number: ";
std int input = std::cin >> input; // 获取用户输入
if (isNarcissisticNumber(input)) {
std::cout << input << " is a narcissistic number.\n";
} else {
std::cout << input << " is not a narcissistic number.\n";
}
return 0;
}
// 实现判断函数
bool isNarcissisticNumber(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit; // 计算每位数字的立方
temp /= 10;
}
return sum == num; // 返回结果
}
```
在这个例子中,`isNarcissisticNumber` 函数接收一个整数作为参数,对其进行处理并返回一个布尔值,表示该数是否是水仙花数。值传递确保了原始输入不会被改变。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)