khoahoc.vietjack.com

Câu hỏi:

13/07/2024 904 Lưu

Cho trước số tự nhiên n, cần in ra trên màn hình dãy n số nguyên tố đầu tiên. Ví dụ nếu n = 5 thì dãy cần in ra sẽ là 2, 3, 5, 7, 11.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

def is_prime(num):

    """Kiểm tra xem một số có phải là số nguyên tố hay không."""

    if num <= 1:

        return False

    for i in range(2, int(num**0.5) + 1):

        if num % i == 0:

            return False

    return True

def print_prime_numbers(n):

    """In ra n số nguyên tố đầu tiên."""

    count = 0

    num = 2

    while count < n:

        if is_prime(num):

            print(num)

            count += 1

        num += 1

# Số nguyên n cần in ra dãy số nguyên tố đầu tiên

n = int(input())

# Gọi hàm in ra dãy số nguyên tố

print_prime_numbers(n)

Đang tải chế độ Học...

Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay

ĐẶC QUYỀN VIP

Đăng ký VIP để học và luyện thi không giới hạn

Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.

  • Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
  • Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem hàng ngàn bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
  • Đăng ký ngay

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

# Đọc dữ liệu từ tệp điểm thi

with open("diemthi.inp", "r") as file:

    data = file.readlines()

# Tạo danh sách lưu thông tin điểm thi của các thí sinh

scores = []

for line in data:

    line = line.strip().split() # Tách dữ liệu trên mỗi dòng thành các từ

    sbd = line[0] # Lấy số báo danh của thí sinh

    diem1 = int(line[1]) # Lấy điểm bài 1

    diem2 = int(line[2]) # Lấy điểm bài 2

    diem3 = int(line[3]) # Lấy điểm bài 3

    tong_diem = diem1 + diem2 + diem3 # Tính tổng điểm

    scores.append((sbd, diem1, diem2, diem3, tong_diem)) # Thêm thông tin vào danh sách

# Sắp xếp danh sách giảm dần theo tổng điểm

scores.sort(key=lambda x: x[4], reverse=True)

# Ghi kết quả vào tệp ketqua.out

with open("ketqua.out", "w") as file:

    for score in scores:

        sbd = score[0]

        diem1 = score[1]

        diem2 = score[2]

        diem3 = score[3]

        tong_diem = score[4]

        file.write(f"{sbd}\t{diem1}\t{diem2}\t{diem3}\t{tong_diem}\n")

Lời giải

def nhapDL(finp):

    f = open(finp)

    A = []

    B = []

    for line in f:

        s = line.split()

        A.append(s[0])

        temp = s[1:len(s)]

        temp = [float(x) for x in temp]

        B.append(temp)

    f.close()

    return A, B

def diem_gk(d):

    diem = sum(d) + d[0] + d[len(d) - 1]

    diem = diem / (len(d) + 2)

    return round(diem, 2)

def xuly(B):

    kq = []

    for i in range(len(B)):

        diem = diem_gk(B[i])

        kq.append(diem)

    return kq

def ghiDL(fout, A, B):

    f = open(fout, "w")

    A, B = zip(*sorted(zip(A, B), key=lambda x: x[1], reverse=True))

    for i in range(len(A)):

        print(A[i], B[i], file=f)

    f.close()

finp = "seagames.inp"

fout = "ketqua.out"

DS, Diem = nhapDL(finp)

Kq = xuly(Diem)

ghiDL(fout, DS, Kq)

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP