Bài tập  /  Bài đang cần trả lời

Trong một bức thư mà Christian Goldbach gửi cho Euler, ông đã đề cập đến phỏng đoán của mình Mọi số tự nhiên chẵn lớn hơn 2 đều là tổng của 2 số nguyên tố. Hãy lập chương trình để kiểm chứng phỏng đoán của Goldbach...

python
----- Nội dung dịch tự động từ ảnh -----
Trong một bức thư mà Christian Goldbach gửi cho Euler, ông đã đề cập đến
phỏng đoán của mình Mọi số tự nhiên chẵn lớn hơn 2 đều là tổng của 2 số nguyên tố.
Hãy lập chương trình để kiểm chứng phỏng đoán của Goldbach
Yêu cầu
- Dữ liệu vào từ file GB.INP gồm nhiều dòng dòng đầu là số test (<10), các dòng tiếp theo
mỗi dòng ghi 1 số tự nhiên chẵn lớn hơn 2 (<32000)
- Dữ liệuralàfile GB.OUT gồm các dòng (mỗi dòng ứng với 1 test) - mỗi dòng
gồm 2 số nguyên tố cách nhau ít nhất 1 đấu cách có tổng bằng số đã cho (hoặc không tìm
được – ghi là ‘khong”).
Output
Input
3
8
12
5
352
35
573
57
23
1 trả lời
Hỏi chi tiết
151
2
0
quangcuongg
04/02 21:09:48
+5đ tặng
def la_so_nguyen_to(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

def phong_doan_goldbach(n):
    for i in range(2, n // 2 + 1):
        if la_so_nguyen_to(i) and la_so_nguyen_to(n - i):
            return i, n - i
    return None

def kiem_tra_phong_doan_goldbach(filename):
    with open(filename, 'r') as file:
        so_test = int(file.readline().strip())
        ket_qua = []

        for _ in range(so_test):
            num = int(file.readline().strip())
            result = phong_doan_goldbach(num)
            ket_qua.append(result)

    with open('GB.OUT', 'w') as output_file:
        for result in ket_qua:
            if result:
                output_file.write(f'{result[0]} {result[1]}\n')
            else:
                output_file.write('khong\n')

if __name__ == "__main__":
    kiem_tra_phong_doan_goldbach('GB.INP')
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tổng hợp Lớp 7 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo