Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
crazy

Câu 2 (5.0 điểm): Tổng nguyên tố                                                  SPRIME.PAS

Một số tự nhiên n có thể phân tích được dưới dạng tổng của hai số nguyên tố.

Ví dụ: Số 8 có một cách phân tích thành tổng hai số nguyên tố là 3 và 5; Số 11 không có cách phân tích nào thành tổng của hai số nguyên tố.

Yêu cầu: Cho số nguyên dương n, hãy đếm số cách phân tích n thành tổng của hai số nguyên tố.

Dữ liệu vào: Cho trong file văn bản SPRIME.INP có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương n ( 1 n ≤ 10000).

Dữ liệu ra: Ghi ra file văn bản SPRIME.OUT theo cấu trúc như sau:

- Dòng 1: Ghi số nguyên đếm được.

Ví dụ:

SPRIME.INP

SPRIME.OUT

30

3

 

Giải thích:  Trong ví dụ trên số 30 có 3 cách phân tích thành tổng của hai số nguyên tố như sau: 30 = 7 + 23; 30 = 11 + 19 và 30 = 13 + 17.

pascal nha help mik vs a

 

#include <bits/stdc++.h>
using namespace std;
#define nmax 10000005
bool NT[nmax];
void sang()
{
    memset(NT, true, nmax);
    NT[0]=NT[1]=false;
    for (int i=2; i<=sqrt(nmax); i++)
        if (NT[i])
            for (int j=i*i; j<=nmax; j+=i)
                NT[j]=false;
}
int main()
{
    freopen("SPRIME.inp", "r", stdin);
    freopen("SPRIME.out", "w", stdout);
    long long n;
    cin>>n;
    sang();
    long long dem=0;
    for(int i=1; i<=n/2; i++)
    {
        if(NT[i] and NT[n-i]) dem++;
    }
    cout<<dem;
}


Các câu hỏi tương tự
Thảo Linh
Xem chi tiết
Vũ Hữu Phong
Xem chi tiết
Ngô Nhật Minh
Xem chi tiết
gấu trúc VN
Xem chi tiết
Thắng Huỳnh
Xem chi tiết
Bùi Thị Châu Loan
Xem chi tiết
Trần Trung Hiếu
Xem chi tiết
Bùi Ngọc Khánh Huyền
Xem chi tiết
Tram
Xem chi tiết
Trần Trung Hiếu THCS Thá...
Xem chi tiết