X

SBT Tin học 10 Kết nối tri thức

Em hãy viết chương trình nhập số tự nhiên n > 1


Em hãy viết chương trình nhập số tự nhiên n > 1, sau đó in ra tất cả các ước số nguyên tố khác nhau của n theo hàng ngang trên màn hình. Ví dụ:

Giải sách bài tập Tin học 10 Bài 31: Thực hành viết chương trình đơn giản

Câu 31.9 trang 65 SBT Tin học 10: Em hãy viết chương trình nhập số tự nhiên n > 1, sau đó in ra tất cả các ước số nguyên tố khác nhau của n theo hàng ngang trên màn hình. Ví dụ:

- Nếu n = 10 thì in ra 2 5.

- Nếu n = 12 thì in ra 2 3.

Lời giải:

Hướng dẫn:

Lưu ý đến yêu cầu của bài toán là không in tất cả các ước nguyên tố trong khai triển n thành tích các thừa số nguyên tố, mà chỉ in mỗi ước số nguyên tố một lần. Vì vậy nếu đã tìm ra được một ước nguyên tố k của n thì cần giảm n bằng cách chia n cho k cho đến khi không chia hết được nữa thì tìm tiếp sang số tiếp theo.

Chương trình có thể viết như sau:

n = int(input("Nhập số tự nhiên n: "))

print(n,":", end = " ")

k = 2

while n > 1:

 while k < n and n%k != 0:

  k = k +1

 if k<=n and n%k == 0:

  print(k, end = " ")

  while n%k == 0:

   n = n//k

Xem thêm các bài giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác: