Составить блок-схемы в тетради , описывающие алгоритмы решения следующих задач
1) Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2. Результат обозначьте S.
2) Даны длина и ширина прямоугольника а,b. Найти периметр прямоугольника. Периметр обозначьте P.
uses crt; var e:array[1..3,1..7] of integer; s,max,n,m:integer;
index,sum:integer;
procedure max_el;
begin max:=e[1,1];
sum:=0;
index:=0;
for n:=1 to 3 do
begin
for m:=1 to 7 do
begin
if e[n,m]>max then
begin
max:=e[n,m];
index:=m;
end;
end;
end;
for n:=1 to 3 do
begin
if e[n,index]<0 then
begin
sum:=sum+e[n,index];
end;
end;
writeln('naibolwiy element = ',max,' summa otricatelnyh= ',sum);
end;
begin
clrscr;
writeln('elementy massiva');
writeln;
randomize;
for n:=1 to 3 do begin for m:=1 to 7 do
begin
e[n,m]:=random(100) -50;
write('',e[n,m],' ');
end;
writeln;
end;
writeln;
writeln;
max_el;
readkey;
end.
Объяснение:
2196
Объяснение:
Посчитаем, сколько команд переводят 22 в n, обозначим это количество как a(n). Положим a(22) = 1 (существует одна - пустая - программа, переводящая 22 в 22) и a(n) = 0 для всех n больше 22.
Любое число n могло получиться следующими
из n + 1 путем вычитания 1из n + 3 путем вычитания 3из 3n путем деления на 3из 3n + 1 путем деления на 3из 3n + 2 путем деления на 3Тогда a(n) = a(n + 1) + a(n + 3) + a(3n) + a(3n + 1) + a(3n + 2).
Начинаем последовательно вычислять значения:
a(21) = a(22) + 0 + 0 + 0 + 0 = 1
a(20) = a(21) + 0 + 0 + 0 + 0 = 1
a(19) = a(20) + a(22) + 0 + 0 + 0 = 2
...
a(7) = a(8) + a(10) + a(21) + a(22) + 0
a(6) = a(7) + a(9) + a(18) + a(19) + a(20)
...
Получившиеся значения приведены в таблице: