c++请编写程序输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。 例如,153是一水仙花数,因为153=1^3+5^3+3^3
时间: 2024-12-18 10:25:57 浏览: 42
在C++中,你可以编写一个函数来检查每个三位数是否是水仙花数。以下是一个简单的示例程序:
```cpp
#include <iostream>
using namespace std;
bool is narcissistic(int num) {
int sum = 0;
while (num > 0) {
int digit = num % 10;
sum += pow(digit, 3); // 使用pow计算立方
num /= 10;
}
return sum == num; // 检查原数和其立方和是否相等
}
void printNarcissisticNumbers() {
for (int i = 100; i <= 999; ++i) { // 遍历3位数
if (is Narcissistic(i)) {
cout << i << " ";
}
}
}
int main() {
cout << "所有水仙花数:";
printNarcissisticNumbers();
return 0;
}
```
这个程序首先定义了一个`isNarcissistic`函数,用于判断一个整数是否是水仙花数。然后在`printNarcissisticNumbers`函数中,遍历100到999之间的所有数,并打印出符合条件的水仙花数。
相关问题
用c++编写输出所有的水仙花数,所谓水仙花数指的是一个3位数,其各位数字立方和等于该数本身。
在 C++ 中,我们可以编写一个程序来找出所有的水仙花数。这里是一个简单的示例,它会遍历从 100 到 999 的所有整数,并检查它们是否满足水仙花数的条件。
```cpp
#include <iostream>
// 计算一个三位数的各位数字立方和
int sumOfCubes(int num) {
int hundred = num / 100;
int ten = (num % 100) / 10;
int unit = num % 10;
return hundred * hundreds + ten * tens + unit * units;
}
bool is narcissistic(int num) {
return sumOfCubes(num) == num;
}
// 主函数,输出所有水仙花数
void printNarcissisticNumbers() {
for (int i = 100; i <= 999; ++i) {
if (isNarcissistic(i)) {
std::cout << i << " ";
}
}
}
int main() {
printNarcissisticNumbers();
return 0;
}
```
当运行这个程序,它将打印出所有的水仙花数:
```
153 370 371 407
编写visual c++程序,用for语句输出所有“水仙花数”所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身
在Visual C++中编写程序来找出所有的"水仙花数",你可以按照以下步骤进行:
首先,你需要创建一个新的C++控制台应用程序。然后,在`main()`函数中,可以使用一个嵌套的`for`循环遍历3位数范围内的所有整数。`for`语句的基本结构会像这样:
```cpp
#include <iostream>
using namespace std;
int is narcissistic(int number) {
int sum = 0;
int temp = number;
while (temp != 0) {
int digit = temp % 10;
sum += pow(digit, 3); // 计算每位数字的立方
temp /= 10;
}
return sum == number; // 如果立方和等于原数,则是水仙花数
}
int main() {
for (int i = 100; i <= 999; ++i) { // 遍历100到999
if (is_narcissistic(i)) {
cout << i << " is a Narcissistic number.\n";
}
}
return 0;
}
```
这个程序定义了一个辅助函数`is_narcissistic()`用于检查是否为水仙花数,主循环通过调用这个函数筛选出符合条件的数并打印出来。
阅读全文
相关推荐
















