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.
Для правильной работы программы необходимо, чтобы эти файлы лежали в папке с программой:
Ответ:
program Delitel;
var
n, i, j, c, d: Integer;
a: array of Integer;
begin
Write ('Введите N: ');
ReadLn (n);
SetLength (a, n + 1);
for i := 1 to n do begin
c := 0;
for j := 1 to i do begin
if i mod j = 0 then
Inc (c);
end;
a [i] := c;
end;
c := 1;
for i := 1 to n do begin
if a [i] > a [c] then
c := i;
end;
WriteLn ('Число ', c, ' имеет ', a [c], ' делителей.');
ReadLn;
end.
program TabulW;
var
a, b, c, x, dx, w: real;
begin
a := 2.8;
b := -0.3;
c := 4.0;
x := 1.0;
dx := 0.05;
Writeln(' a b c x w');
while x - 2 < 0.0001 do
begin
if x < 1.2 then
w := a * x * x + b * x + c
else if x > 1.2 then
w := (a + b * x) / sqrt(x * x + 1)
else
w := a / x + sqrt(x * x + 1);
Writeln(a:6:3, b:8:3, c:8:3, x:8:3, w:8:3);
x += dx
end;
Readln;
end.
/ - разделить
* - умножить
i = 8 бит = 1 байт
Объем одной страницы T = 40*60*1 байт = 2400 байт
Объем доступной памяти M = 16 Кбайт = 16 * 1024 байт = 16384 байт
Кол-во страниц S = M / T = 16384 байт / 2400 байт = 6.8266666666666
Поскольку страниц может быть только целое число и больше чем есть не впихнешь, то округляем до целых в меньшую сторону
S = 6
Очень просто
запускаете двое часов одновременно, через три мин. переворачиваете часы на три минуты, через 6 мин. от начала еще раз переворачиваете их, когда закончится песок в часах на 8 мин, переворачиваете часы на три минуты, они как раз отсчитают две минуты так как на теперь уже нижней стороне оставалась минута до 9 минут, а на другой стороне 3-1=2минуты, 8+2=10.