#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;
}

使用方法:

  1. 将以上代码保存为一个 .cpp 文件,比如 narcissistic_numbers.cpp
  2. 打开命令行窗口,进入存储代码的文件夹路径。
  3. 使用 C++ 编译器(如 g++)编译代码,运行命令 g++ narcissistic_numbers.cpp -o narcissistic_numbers
  4. 运行命令 ./narcissistic_numbers
  5. 输入一个满足条件的正整数 N,按回车键。
  6. 程序将输出 100~N 之间的所有水仙花数。
C++ 程序:找出 100 到 N 之间的所有水仙花数

原文地址: https://www.cveoy.top/t/topic/kPv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录