Số hoàn hảo trong Pascal

Viết chương trình kiểm tra một số có phải là số hoàn hảo hay không (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

Dữ liệu vào file: hoanhao.inp Dữ liệu ra file: hoanhao.out
Chứa số n (n <1 tỉ) Yes (No)























var m,k:longint; f:text;
{--- Chuong trinh con kiem tra so hoan hao ----------}
function hoan_hao(n:longint):boolean;
var S,i:longint;
begin
  if n<=0 then hoan_hao:=false
  else
    begin
        s:=0;
        for i:=1 to n-1 do if n mod i =0 then S:=s+i;
        if n=S then hoan_hao:=true else hoan_hao:=false;
    end;
end;
{----Than chuong trinh chinh ------}
begin
{----Doc file ----}
    assign(f,'hoanhao.inp'); reset(f);
    read(f,m);close(f);
{----Mo file de ghi----}
    assign(f,'hoanhao.out'); rewrite(f);
    write(f,hoan_hao(m));
close(f);
end.

 

Read:   Tìm phần tử lớn nhất, nhỏ nhất trong dãy số, nhập xuất từ file trong Pascal
Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *