Số hoàn hảo nhỏ hơn hoặc bằng n trong Pascal

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
var n,i: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,'tim_hh.inp'); reset(f);
    read(f,n);close(f);
{----Mo file de ghi----}
    assign(f,'tim_hh.out'); rewrite(f);

    for i:=1 to n do if hoan_hao(i) then write(f,i,' ');

close(f);
end.

 

Read:   Đề thi HSG Tin 12 - Bảng B - Năm học 2020 - 2021 - Code mẫu viết bằng C++
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 *