{Задача N1}
var m,n,k,l:longint;
f:text;
begin
assign(f,'INPUT.TXT');
reset(f);
read(f,m,n);
k:=m; l:=n;
close(f);
while (m>0) and (n>0) do
if m<n then n:=n mod m
else m:=m mod n;
assign(f,'OUTPUT.TXT');
rewrite(f);
write(f,(k*l) div (m+n));
close(f);
end.
{Задача N2}
var n,i,j,s,t:longint;
f:text;
begin
assign(f,'INPUT.TXT');
reset(f);
read(f,n);
s:=0;
for i:=1 to n do
for j:=1 to n do begin
read(f,t);
if (i>j) and (t=1) then inc(s);
end;
close(f);
assign(f,'OUTPUT.TXT');
rewrite(f);
write(f,s);
close(f);
end.
{Задача N3}
Можно заметить, что если от любого числа отнять его сумму цифр, то оно будет
делится на 9. Вообще то заметить это было проще, написав программу, вычисляющую
эти значения для первых тысячи чисел, где получилась повторяющася
последовательность 1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3 ...
Теперь докажем это математически. Действительно, если число представленно в виде суммы своих
разрядов, то в результате вычитания у каждого разряда будет множитель 10**k-1
(к - номер разряда), который делится на 9 (нулевого разряда при вычитании
вообще не будет, т.к. он сокращается). Таким образом получаем, что в результате
последовательных операций получится число, равное остатку от деления на 9, ну а
если мы для каждого числа запишем эти остатки, то получим последовательность
1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3 ...
Т.е. единиц почти столько же сколько двоек :) За одним исключением: остаток от
деления на 9 миллиарда будет 1, т.е. единиц на одну больше для числе от 1 до
миллиарда.
{Задача N4}
var c,n:longint;
procedure Stair(min,n: longint);
var i:longint;
begin
for i:=min to n do
if n-i>i then Stair(i+1,n-i);
inc(c);
end;
begin
assign(input, 'input.txt');
assign(output, 'output.txt');
reset(input);
rewrite(output);
read(n);
Stair(1,n);
write(c);
end.
{Задача N5}
var n,i,j,k: integer;
d: array[0..30000] of integer;
f:text;
begin
assign(f,'INPUT.TXT');
reset(f);
read(f,n);
for i:=0 to n-1 do read(f, d[i]);
i:=1; k:=1;
while i<n do
if d[i]=d[i mod k] then inc(i)
else begin
inc(k);
i:=k;
end;
close(f);
assign(f,'OUTPUT.TXT');
rewrite(f);
write(f,k);
close(f);
end.
|