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

Lập trình 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.