C++ 程序:找出 100 到 N 之间的所有水仙花数
#include <iostream>
#include <vector>
using namespace std;
vector<int> findNarcissisticNumbers(int N) {
vector<int> narcissistic_numbers;
for (int num = 100; num <= N; num++) {
int digit1 = num % 10;
int digit2 = (num / 10) % 10;
int digit3 = num / 100;
if (digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3 == num) {
narcissistic_numbers.push_back(num);
}
}
return narcissistic_numbers;
}
int main() {
int N;
cout << '请输入一个正整数N:';
cin >> N;
vector<int> narcissistic_numbers = findNarcissisticNumbers(N);
cout << '100~' << N << '之间的水仙花数为:';
for (int i = 0; i < narcissistic_numbers.size(); i++) {
cout << narcissistic_numbers[i] << ' ';
}
cout << endl;
return 0;
}
使用方法:
- 将以上代码保存为一个 .cpp 文件,比如
narcissistic_numbers.cpp。 - 打开命令行窗口,进入存储代码的文件夹路径。
- 使用 C++ 编译器(如 g++)编译代码,运行命令
g++ narcissistic_numbers.cpp -o narcissistic_numbers。 - 运行命令
./narcissistic_numbers。 - 输入一个满足条件的正整数 N,按回车键。
- 程序将输出 100~N 之间的所有水仙花数。
原文地址: https://www.cveoy.top/t/topic/kPv 著作权归作者所有。请勿转载和采集!