Tìm Số hoàn chỉnh trong Pascal

Bài toán. Một số có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn chỉnh.

Ví dụ: 6 có các ước nhỏ hơn nó là 1, 2, 3. Tổng là 1 + 2 + 3 = 6.

Viết chương trình xét xem một số n được nhập từ bàn phím có phải là số hoàn chỉnh không?

Thuật toán:

– Dùng biến n lưu số cần xét.

– Biến S có giá trị ban đầu bằng 0.

– Cho i chạy từ 1 đến n-1. nếu i là ước của n thì cộng thêm i vào S.

– Nếu S = n thì S là số hoàn chỉnh.

Code tham khảo:

Program soHoanChinh;
uses crt;
var n, i, s: integer;
begin
     write('nhap so n: ');readln(n);
     s:=0;
     for i:= 1 to n -1 do if n mod i = 0 then s:=s+i;
     if s = n then write(n, ' la so hoan chinh')
     else writeln(n, ' khong phai la so hoan chinh');
     readln
end.