LH Quảng cáo: lazijsc@gmail.com

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

Python?

pthon?
----- Nội dung dịch tự động từ ảnh -----
SỐ SIÊU NGUYÊN TỐ
Sổ siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải
của nó thì phần còn lại vẫn tạo thành một số nguyên tố.
Ví dụ : 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số
nguyên tố.
Em hãy viết chương trình tìm các số siêu nguyên tố có N chữ số (0 số lượng các số tìm được.
Dữ liệu vào: cho trong File SIEUNT.INP chứa số N.
Kết quả: ghi ra file SIEUNT.OUT gồm các dòng:
- Dòng 1: số lượng các số siêu nguyên tố có N chữ số.
- Dòng tiếp theo liệt kê các số siêu nguyên tố tìm được.
Vi du:
4
SIEUNT.INP
SIEUNT.OUT
16
2333 2339 2393
2399 2939 3119
3137 3733 3739
3793 3797 5939
7193 7331 7333 7393
1 trả lời
Hỏi chi tiết
69
1
0
witch
17/02 20:39:52
+5đ tặng
THỬ VẬN MAY VỚI ĐOẠN CODE NÀY NHÉ
def la_so_nguyen_to(num):
    if num <= 1:
        return False
    if num <= 3:
        return True
    if num % 2 == 0 or num % 3 == 0:
        return False
    i = 5
    while i * i <= num:
        if num % i == 0 or num % (i + 2) == 0:
            return False
        i += 6
    return True

def la_so_nguyen_to_sieu(num):
    num_str = str(num)
    for i in range(1, len(num_str)):
        if not la_so_nguyen_to(int(num_str[i:])):
            return False
    return True

def tim_so_nguyen_to_sieu(N):
    so_nguyen_to_sieu = []
    bat_dau = 10 ** (N - 1)
    ket_thuc = 10 ** N
    for num in range(bat_dau, ket_thuc):
        if la_so_nguyen_to(num) and la_so_nguyen_to_sieu(num):
            so_nguyen_to_sieu.append(num)
    return so_nguyen_to_sieu

def main():
    with open('SIEUNT.INP', 'r') as f:
        N = int(f.readline().strip())
    
    so_nguyen_to_sieu = tim_so_nguyen_to_sieu(N)
    
    with open('SIEUNT.OUT', 'w') as f:
        f.write(str(len(so_nguyen_to_sieu)) + '\n')
        for so in so_nguyen_to_sieu:
            f.write(str(so) + '\n')

if __name__ == "__main__":
    main()
 

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 liên quan

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

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