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.
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:
Xem thêm các tài liệu học tốt lớp 10 hay khác:
- Giải sgk Tin học 10 Cánh diều
- Giải Chuyên đề học tập Tin học 10 Cánh diều
- Giải SBT Tin học 10 Cánh diều
- Giải lớp 10 Cánh diều (các môn học)
- Giải lớp 10 Kết nối tri thức (các môn học)
- Giải lớp 10 Chân trời sáng tạo (các môn học)
- Soạn văn 10 (hay nhất) - Cánh diều
- Soạn văn 10 (ngắn nhất) - Cánh diều
- Soạn văn 10 (siêu ngắn) - Cánh diều
- Giải sgk Toán 10 - Cánh diều
- Giải Tiếng Anh 10 Global Success
- Giải Tiếng Anh 10 Friends Global
- Giải sgk Tiếng Anh 10 iLearn Smart World
- Giải sgk Tiếng Anh 10 Explore New Worlds
- Giải sgk Vật lí 10 - Cánh diều
- Giải sgk Hóa học 10 - Cánh diều
- Giải sgk Sinh học 10 - Cánh diều
- Giải sgk Địa lí 10 - Cánh diều
- Giải sgk Lịch sử 10 - Cánh diều
- Giải sgk Kinh tế và Pháp luật 10 - Cánh diều
- Giải sgk Tin học 10 - Cánh diều
- Giải sgk Công nghệ 10 - Cánh diều
- Giải sgk Hoạt động trải nghiệm 10 - Cánh diều
- Giải sgk Giáo dục quốc phòng 10 - Cánh diều