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

Câu 31.9 trang 65 SBT Tin học 10Em 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.

Trả lờ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 SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:

Bài 29: Nhận biết lỗi chương trình

Bài 30: Kiểm thử và gỡ lỗi chương trình

Bài 31: Thực hành: Viết chương trình đơn giản

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

Bài 33: Nghề thiết kế đồ họa máy tính

Bài 34: Nghề phát triển phần mềm

Câu hỏi cùng chủ đề

Xem tất cả