Liệt kê ước số Viết chương trình nhập vào một số nguyên dương n và in ra tất cả các ước số của n.
Giải sách bài tập Tin học 10 Bài 8, 9: Câu lệnh lặp. Thực hành câu lệnh lặp
Câu F44 trang 32 SBT Tin học 10: Liệt kê ước số
Viết chương trình nhập vào một số nguyên dương n và in ra tất cả các ước số của n.
Lời giải:
Cách 1: Một trong những giải pháp đơn giản là thử mọi giá trị số nguyên d từ l tới n, mỗi khi gặp một giá trị ở là ước số của n thì in ra ngay giá trị d đó. Tham khảo chương trình sau:
Ví dụ
Input |
Output |
60 |
1 2 3 4 5 6 10 12 15 20 30 60 |
Cách 2: Cách làm trên khá chậm khi gặp giá trị n lớn (chẳng hạn n = 109). Một cải tiến nhỏ là dựa vào nhận xét: Ngoại trừ ước d = n, tất cả các ước số khác của n đều không vượt quá , vì vậy ta chỉ cần thử d trong phạm vi [1, ] còn riêng ước d = n sẽ được in ra sau. Mặc dù tốc độ chương trình cải thiện gấp đôi, phương pháp này vẫn còn rất chậm.
Cách 3: Dựa vào nhận xét: Nếu d là ước số của n thì “ cũng là ước số của n”. Trong hai ước số d và , chắc chắn có một số nhỏ hơn hoặc bằng . Vì thế ta chỉ cần thử d trong phạm vi [1; ], khi tìm thấy. một ước số d của n trong phạm vi này, ta in ra d và in ra luôn cả ước
Lưu ý: Trường hợp d = (n là số chính phương), ta chỉ được in ra một ước để tránh trùng lặp.
Tham khảo chương trình sau:
Xem thêm các bài giải sách bài tập Tin học lớp 10 sách Cánh diều hay, chi tiết khác:
Săn shopee siêu SALE :
- Sổ lò xo Art of Nature Thiên Long màu xinh xỉu
- Biti's ra mẫu mới xinh lắm
- Tsubaki 199k/3 chai
- L'Oreal mua 1 tặng 3
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Soạn văn lớp 10 (hay nhất) - CD
- Giải Toán lớp 10 - CD
- Giải Tiếng Anh lớp 10 - CD
- Giải Vật lí lớp 10 - CD
- Giải Hóa học lớp 10 - CD
- Giải Sinh học lớp 10 - CD
- Giải Giáo dục Kinh tế và Pháp luật lớp 10 - CD
- Giải Địa lí lớp 10 - CD
- Giải Lịch sử lớp 10 - CD
- Giải Giáo dục quốc phòng lớp 10 - CD
- Giải Tin học lớp 10 - CD