Tìm cặp số thân thiết Hai số tự nhiên (M;N) được gọi là cặp số thân thiết
Giải SBT Tin học 9 Cánh diều Bài 4: Dùng máy tính để giải quyết bài toán
Câu F21 trang 69 SBT Tin học 9: Tìm cặp số thân thiết: Hai số tự nhiên (M;N) được gọi là cặp số thân thiết nếu số này bằng tổng các ước số của số kia (kể cả 1 nhưng không kể số đó). Ví dụ (220;284) là cặp số thân thiết. Hãy dùng phần mềm Scratch để tạo chương trình tìm ra tất cả các cặp số thân thiết trong phạm vi 1.000 (tức là M và N đều nhỏ hơn 1.000).
Lời giải:
Xác định bài toán:
Input:
(Không cần dữ liệu nhập vào)
Output:
Hai số tự nhiên MMM và NNN sao cho:
M<1000;N<1000;
N= Tổng các ước của M (kể cả 1 và không kể M)
M = Tổng các ước của N(kể cả 1 và không kể N)
Tìm thuật toán:
Lặp với N từ 1 đến 999:
Tính tổng ước của N được kết quả là Tổng ước
M=Tổng ước
Tính tổng ước của M được kết quả là Tổng ước
Nếu (N=Tổng ước): Thông báo (M; N) là cặp số thân thiết.
Hết lặp
Trong thuật toán trên, Tính tổng ước của N là một bài toán con có thuật toán được mô tả như sau:
Thuật toán: Tính tổng ước của N
Tổng ước = 1
u=2
Lặp đến khi u>N/2:
Nếu (N chia hết cho u): Tổng ước = Tổng ước + u
u=u+1
Hết lặp
Viết chương trình:
Chạy thử để sửa lỗi:
- Có thể trong phiên bản đầu tiên của chương trình thì điều kiện để thông báo (M;N) là cặp số thân thiết chỉ là (M=Tổng ước của N)(M = Tổng ước của N). Khi chạy thử sẽ thấy thông báo đưa những cặp số mà (N=M).
- Có thể chỉnh sửa chương trình để chỉ thông báo những cặp (M;N) M≠ N.
- Có thể chỉnh sửa thêm để mỗi cặp số chỉ thông báo 1 lần (Ví dụ: Chỉ thông báo (220;284) chứ không lặp lại ((284; 220)) bằng cách thay đổi lệnh như sau:
Lời giải sách bài tập Tin học 9 Bài 4: Dùng máy tính để giải quyết bài toán hay khác: