Бозначим через a mod b остаток от деления натурального числа a на натуральное число b. Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями: F(0)=0;
F(n)=n+F(n–3), если n>0 и при этом n mod 3=0;
F(n)=n+F(n – (n mod 3)), если n mod 3>0.
Чему равно значение функции F(26)?
begin
var a:=SeqRandom(5,10,99).Sorted.ToArray; Writeln('a=',a);
var b:=SeqRandom(5,10,99).Sorted.ToArray; Writeln('b=',b);
var c:=new integer[10];
var i:=0; var j:=0; var k:=0;
while (i<5) and (j<5) do begin
if a[i]<b[j] then begin c[k]:=a[i]; Inc(i) end
else begin c[k]:=b[j]; Inc(j) end;
Inc(k)
end;
if i=5 then
for var m:=j to 4 do begin c[k]:=b[m]; Inc(k) end
else
for var m:=i to 4 do begin c[k]:=a[m]; Inc(k) end;
Writeln('c=',c)
end.
Тестовое решение:
a=[14,53,78,86,89]
b=[35,57,63,85,94]
c=[14,35,53,57,63,78,85,86,89,94]