Số mạnh mẽ là số khi nó chia hết cho số nguyên tố thì cũng chia hết cho cả bình phương của số nguyên tố đó.
VD: 8 là số mạnh mẽ vì chia hết cho 2 và 22
Số hoàn hảo là một số tự nhiên mà tổng tất cả các ước tự nhiên thực sự của nó thì bằng chính nó.
VD: 6 là số hoàn hảo vì 6=1+2+3
Một số bài tập Pascal liên quan đến số mạnh mẽ
Bài 1: Viết chương trình liệt kê các số mạnh mẽ không vượt quá 1000

Như vậy trong chương trình trên không thể thiếu chương trình con kiểm tra số nguyên tố. Và muốn kiểm tra một số có mạnh mẽ không ta chỉ cần kiểm tra xem nó có chia hết cho số nguyên tố nào không, đồng thời có chia hết cho bình phương của số nguyên tố đó không.
Chương trình trên dùng lệnh break; để thoát vòng lặp nếu kiểm tra được a có chia hết cho một số nguyên tố mà không chia hết cho bình phương của số nguyên tố đó. Khi đó chắc chắn a không phải là số hoàn hảo.
Bài 2: Viết chương trình loại bỏ những số mạnh mẽ trong dãy n số nguyên.
Gợi ý: Lại một lần nữa bạn có thể dùng kỹ thuật đánh dấu mảng để giải quyết bài toán trên
Hoặc có thể hỏi nhiều cách khác nhau chẳng hạn
Bài 3: Viết chương trình tính tổng các số mạnh mẽ trong một mảng gồm n phần tử cho trước
Hướng dẫn: Sử dụng kỹ thuật cộng dồn để cộng gom các số mạnh mẽ khi tìm được
Một số bài tập Pascal liên quan đến số hoàn hảo
Bài 4: Viết chương trình kiểm tra số n có phải là số hoàn hảo hay không
Để giải quyết bài toán này ta phải tìm tất các các ước thực sự của n và cộng gom những ước đó lại và đem so sánh với n. Sau đây là code mẫu bằng Pascal, nhập xuất từ file để các bạn tham khảo (kết quả xuất ra dưới dạng Yes/No)

Bài 5: Viết chương trình nhập vào một số n, xuất ra những số hoàn hảo nhỏ hơn hoặc bằng n
| Dữ liệu vào file: Tim_hh.inp | Dữ liệu ra file: Tim_hh.out |
| Chứa số n (n <10000) | Dãy các số hoàn hảo |
vậy là mình đã giới thiệu cùng các bạn một số bài tập về số mạnh mẽ và số hoàn hảo rồi nhé, các bạn cố gắng tự code để hiểu rõ hơn. Xin chào và hẹn gặp lại.
0 Comments