Делать в паскали.дано натуральное число .найти количество совершенных чисел меньших или доривнюючих ему. ответ вывести на экран и сделать это с файлами
Uses Crt; Var f:text; S,n,k,d:integer; Begin Assign(f,'TextIn.txt'); Reset(f); Read(f,n); k:=0; For n:= 1 to n do Begin S:=0; d:=n div 2; While d<>0 do Begin if n mod d = 0 then S:=S+d; d:=d-1 End; if S = n then Begin WriteLn(n); k:=k+1 End End; Close(f); Assign(f,'TextOut.txt'); ReWrite(f); Write(f,k); Close(f); ReadLn; End.
Для правильной работы программы необходимо, чтобы эти файлы лежали в папке с программой:
Var
f:text;
S,n,k,d:integer;
Begin
Assign(f,'TextIn.txt');
Reset(f);
Read(f,n);
k:=0;
For n:= 1 to n do
Begin
S:=0;
d:=n div 2;
While d<>0 do
Begin
if n mod d = 0 then S:=S+d;
d:=d-1
End;
if S = n then
Begin
WriteLn(n);
k:=k+1
End
End;
Close(f);
Assign(f,'TextOut.txt');
ReWrite(f);
Write(f,k);
Close(f);
ReadLn;
End.
Для правильной работы программы необходимо, чтобы эти файлы лежали в папке с программой: