Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ kiểm tra số có thể biểu diễn thành tổng hai số nguyên tố


Dưới đây là ví dụ kiểm tra số có thể biểu diễn thành tổng hai số nguyên tố.

Ví dụ

#include <iostream>
using namespace std;

int func(int num) {
    int i;
    int flag = 1;
    for (i = 2; i <= num/2; ++i) {
        if (num % i == 0) {
            flag = 0;
            break;
        }
    }
    return flag;
}

int main() {
    int num, i;
    cout << "Nhập một số: \n";
    cin >> num;
    for (i = 2; i <= num/2; ++i) {
        if (func(i)) {
            if (func(num - i)) {
                cout << num << " = " << i << " + " << num-i << endl;
            }
        }
    }
    return 0;
}

Kết quả

Nhập một số: 18
18 = 5 + 13
18 = 7 + 11

Trong chương trình, hàm func() kiểm tra số nguyên tố.

int func(int num) {
    int i;
    int flag = 1;
    for (i = 2; i <= num/2; ++i) {
        if (num % i == 0) {
            flag = 0;
            break;
        }
    }
    return flag;
}

Trong main(), người dùng nhập số. Tính tổng hai số nguyên tố.

cout << "Nhập một số: \n"; cin >> num;
for (i = 2; i <= num/2; ++i) {
    if (func(i)) {
        if (func(num - i)) {
            cout << num << " = " << i << " + " << num-i << endl;
        }
    }
}