Câu hỏi:

Nhiệm vụ 1. Viết chương trình nhập từ bàn phím số tự nhiên n, kiểm tra n có phải là số nguyên tố hay không. Nếu n là hợp số thì in ra kết quả phân tích n thành tích các thừa số nguyên tố. Chú ý số 1 không là nguyên tố và cũng không là hợp số.

Hướng dẫn:

Sử dụng biến danh sách NT để lưu các thửa số nguyên tố của n. Chương trình sẽ thiết lập danh sách NT chỉ khi n > 1. Kết quả của chương trình sẽ như sau:

Nếu len(NT) > 1 thị chương trình sẽ in ra khai triển n thành tích các thửa số nguyên tố, khai triển này sẽ có dạng: n = p1 × p2 × …× px. ( ghi ra duwowis dangj py thon cuar baif 31 sangs lowps 10 tin hocj keets noois tri thuwcs


Chào mừng bạn đến với cuộc truy tìm thừa số bí ẩn trong thế giới số học! Để thực hiện yêu cầu của bạn, chúng ta sẽ viết một chương trình Python nhập vào số tự nhiên n, kiểm tra n có phải số nguyên tố hay không, và nếu không, phát hiện các thừa số nguyên tố của nó. Nào, hãy cùng tạo ra phép màu toán học thú vị này nhé!

Đây là giải pháp của chúng tôi:

def is_prime(number):
    if number <= 1:
        return False
    if number <= 3:
        return True
    if number % 2 == 0 or number % 3 == 0:
        return False
    i = 5
    while i * i <= number:
        if number % i == 0 or number % (i + 2) == 0:
            return False
        i += 6
    return True

def prime_factors(n):
    factors = []
    # Check for number of 2s in n
    while n % 2 == 0:
        factors.append(2)
        n = n // 2
    # n must be odd at this point so a skip of 2 (i.e., i = i + 2) can be used in loop
    i = 3
    while i * i <= n:
        while n % i == 0:
            factors.append(i)
            n = n // i
        i += 2
    # This condition is to check if n is a prime number
    if n > 2:
        factors.append(n)
    return factors

def main():
    n = int(input("Nhập số tự nhiên n: "))
    if n == 1:
        print("Danh sách NT là: []")
    elif is_prime(n):
        print(f"{n} là số nguyên tố.")
    else:
        factors = prime_factors(n)
        if len(factors) > 1:
            result = " × ".join(map(str, factors))
            print(f"Khai triển số {n} thành tích các thừa số nguyên tố: {n} = {result}")
        else:
            print(f"{n} là số nguyên tố.")

if __name__ == "__main__":
    main()

Giải thích chương trình:

Như vậy, chúng ta có thể dễ dàng xác định những thừa số ẩn giấu cùng chương trình này. Nếu bạn thích thú với trò chơi toán học hấp dẫn này, đừng ngần ngại ghé thăm trituenhantao.io để khám phá thêm nhiều chủ đề thú vị khác nhé!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử