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

Lập trình giải quyết bài toán "Prime Number" bằng ngôn ngữ lập trình C++

giúp mình với ạ c++
----- Nội dung dịch tự động từ ảnh -----
Câu 7. Prime Number
Chuyên đề xử lý số là chuyên đề làm mê hoặc rất nhiều người bởi sự ly kỳ của nó vì
thế người ta thường nghĩ ra các bài toán liên quan đến các con số như: Số hoàn hảo, số
chính phương, số nguyên tố và số siêu nguyên tố...
Bài toán cho một xâu ký tự T trong đó có chứa các số nguyên tố (các số nguyên tố là
xâu con của xâu ký tự T) là một trong những bài toán như thế về xử lý số.
Giả sử xâu T có độ dài “Test1234#primarykey542”, trong đó có chứa:
Tập các con số 1, 12, 123, 1234, 2, 23, 234, 3, 34, 4, 5, 54, 542, 4, 42, 2;
-
Tập gồm 4 số nguyên tố khác nhau, các con số nguyên tố khác nhau chứa trong
xâu ký tự T là 2, 23, 3, 5;
Yêu cầu: Em hãy lập trình tìm và đưa ra số lượng các số nguyên tố khác nhau và liệt kê các
số nguyên tố khác nhau xuất hiện trong xâu ký tự T.
Dữ liệu vào: Cho từ tập tin văn bản PRIME.INP một dòng duy nhất là xâu T (Chiều dài
của xâu T không quá 2.500 ký tự).
Kết quả ra: Ghi ra tập tin văn bản PRIME.OUT gồm hai dòng:
• Dòng thứ nhất: Một số nguyên dương là số lượng các số nguyên tố có trong xâu T.
Dòng thứ hai: Liệt kê tất cả các số nguyên tố (khác nhau) xuất hiện trong xâu T.
Các số trên một dòng được ghi cách nhau ít nhất một dấu cách (một khoảng trắng).
Ví dụ 1:
PRIME.INP
Test1 #2primary9#5key6
2
25
PRIME.OUT
1 Xem trả lời
Hỏi chi tiết
177
0
0
GUNTER OBERDORF ...
08/01 21:26:38
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def prime_numbers_in_string(s):
    numbers = set()
    number = ''
    for char in s:
        if char.isdigit():
            number += char
        elif number:
            numbers.add(int(number))
            number = ''
    if number:
        numbers.add(int(number))
    primes = {n for n in numbers if is_prime(n)}
    return primes

# Đọc dữ liệu từ tệp PRIME.INP
with open('PRIME.INP', 'r') as f:
    s = f.readline().strip()

# Tìm các số nguyên tố trong chuỗi
primes = prime_numbers_in_string(s)

# Ghi kết quả ra tệp PRIME.OUT
with open('PRIME.OUT', 'w') as f:
    f.write(str(len(primes)) + '\n')
    f.write(' '.join(map(str, sorted(primes))) + '\n')
 

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

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
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×