Bài 32: Ôn tập lập trình Python

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Minh Lệ

Nếu n là hợp số thì dễ thấy n phải có ước số nguyên tố nhỏ hơn hoặc bằng \(\sqrt{n}\) . Viết chương trình tối ưu hoá hơn nhiệm vụ 1, bài 31 theo cách sau: để tìm ước số nguyên tố nhỏ nhất thì chỉ cần tìm trong các số 2, 3, …,\(\sqrt{n}\). Nếu trong dãy trên không tìm thấy ước của n thì kết luận ngay n là số nguyên tố

Time line
3 tháng 9 2023 lúc 12:07

def phanTichSoNguyen(n):

    i = 2

    A = []

     while (n > 1):

         if (n % i == 0):

             n = n // i;

             A.append(i)

         else:

             i = i + 1

     return A

n = int(input("Nhập số nguyên dương n = "))

A = phanTichSoNguyen(n)

size = len(A)

if size == 1:

print("n là số nguyên tố")

else:

    print("n là hợp số")

sb = "";

    for i in range(0, size - 1):

         sb = sb + str(A[i]) + " x "

    sb = sb + str(A[size-1])

     print("Kết quả:", n, "=", sb)

Nếu n là hợp số thì dễ thấy n phải có ước số nguyên tố nhỏ hơn hoặc bằng √n