Hưỡng dẫn tìm hiểu về số Amstrong – thuật toán minh họa bằng Pascal và Scratch
Tìm hiểu về số Amstrong – thuật toán minh họa bằng Pascal và Scratch
Có những số tự nhiên có những tính chất rất đẹp và thú vị, chẳn hạn các bạn thấy 153 = 13 + 53 + 33, số như vậy gọi là số Amstrong. Định nghĩa đầy đủ số Amstrong như sau: Số tự nhiên n gọi là Amstrong nếu nó bằng tổng lập phương các chữ số của nó, ta hãy tìm cách lập trình kiểm tra một số tự nhiên n (n < 2 tỉ) xem nó có phải là số Amstrong hay không bằng Pascal và Scratch nhé.
Thuật toán kiểm tra số Amstrong
Dựa vào định nghĩa số Amstrong ta có ngay cách kiểm tra, đó là tách lấy từng chữ số của số cần kiểm tra sao đó lập phương lên và cộng dồn lại, và để tách được từng chữ số của số nhập vào ta lại có thể sử dụng phép toán Div và mod.
Như vậy ta sẽ dùng một biến để lưu kết quả cộng dồn (S chẳng hạn) khởi động S = 0;
Lặp lại cho đến khi n = 0 (n là số tự nhiên cần kiểm tra) các thao tác sau:
- Cộng dồn (n mod 10) lập phương vào S (Cộng dồn lập phương của chữ số cuối cùng)
- Gán n bằng n div 10 (Cắt bỏ chữ số cuối cùng của n đi)
Chương trình kiểm tra số Amstrong trong Pascal
Dữ liệu vào file: Amstrong.inp | Dữ liệu ra file: Amstrong.out |
Chứa số n | Yes (No) |
code Pascal
Chương trình kiểm tra số Amstrong trong Scratch
Khi đã viết được thuật toán bằng Pascal thì việc kéo thả để tạo code trong Scratch hoàn toàn đơn giản phải không các bạn.
Các bạn hãy tạo một nhân vật, sau đó lập trình cho nhân vật theo các gợi ý sau:
- Yêu cầu nhập vào một số
- Tạo biến và lập trình theo thuật toán tương tự thuật toán viết bằng Pascal ở trên
Sau đó các bạn chạy thử nghiệm và so sánh kết quả xem thế nào nhé.
Nếu trong quá trình code có gì thắc mắc các bạn đừng ngần ngại comment phía dưới bài viết nhé, mặc dù mình rất bận nhưng cũng sẽ cố gắng chia sẻ cùng các bạn. Chúc các bạn học tốt!