Học tại trường Chưa có thông tin
Đến từ Thanh Hóa , Chưa có thông tin
Số lượng câu hỏi 18
Số lượng câu trả lời 1194
Điểm GP 110
Điểm SP 526

Người theo dõi (15)

tam vu
bùi thảo ly
Linh
(>_
(>_

Đang theo dõi (24)

An Thy
hacker
nhân

Câu trả lời:

Câu `3`:

#include <iostream>
#include <vector>

using namespace std;

// Hàm kiểm tra số nguyên tố
bool isPrime(int num) {
    if (num <= 1) return false;
    if (num <= 3) return true;
    if (num % 2 == 0 || num % 3 == 0) return false;
    for (int i = 5; i * i <= num; i += 6) {
        if (num % i == 0 || num % (i + 2) == 0)
            return false;
    }
    return true;
}

// Hàm tìm các ước nguyên tố của một số
vector<int> findPrimeFactors(int num) {
    vector<int> primeFactors;
    for (int i = 2; i * i <= num; i++) {
        while (num % i == 0) {
            primeFactors.push_back(i);
            num /= i;
        }
    }
    if (num > 1) primeFactors.push_back(num);
    return primeFactors;
}

// Hàm tính tổng các phần tử trong vector
int sum(const vector<int>& v) {
    int sum = 0;
    for (int num : v) {
        sum += num;
    }
    return sum;
}

int main() {
    int n, a, b;
    cin >> n >> a >> b;

    // Tìm các ước nguyên tố của n
    vector<int> primeFactors = findPrimeFactors(n);

    // Tính số nguyên tố rút gọn của n
    int reducedPrime = sum(primeFactors);
    cout << reducedPrime << endl;

    // Tìm các số từ a đến b có cùng số nguyên tố rút gọn
    for (int i = a; i <= b; ++i) {
        vector<int> factors = findPrimeFactors(i);
        if (sum(factors) == reducedPrime) {
            cout << i << " ";
        }
    }
    cout << endl;

    return 0;
}