Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Ngọ Cao Dũng

lam giup minh code c++ hai bai nay voi

Vũ Đào Duy Hùng (haeng20...
9 tháng 9 2024 lúc 17:18

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


Các câu hỏi tương tự
Nguyễn Lâm
Xem chi tiết
2 10
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Hoàng Lân
Xem chi tiết
khải
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết