Const n=5; var a:array[1..n,1..n] of integer; b:array[1..n] of integer; i,j,max,min,s:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(21); write(a[i,j]:4); end; writeln; end; max:=a[1,n]; for i:=2 to n do if a[i,n-i+1]>max then max:=a[i,n-i+1]; writeln('1. max = ',max); for i:=1 to n do begin min:=a[i,1]; for j:=2 to n do if a[i,j]<min then min:=a[i,j]; b[i]:=min; end; s:=0; writeln('2. Массив B'); for i:=1 to n do begin write(b[i]:4); s:=s+b[i]; end; writeln; writeln('3. среднее = ',s/n); for i:=1 to n do if b[i]>s/n then write(b[i]:4); writeln; end.
Производим обратные действия: имея команды "разделить на 3", "разделить на 2" и "отнять 1", сделать из 84 львов 1.
Поскольку нам нужно минимальное количество действий, будем пробовать команды именно в том порядке, в котором они указаны выше, только сначала проверяем, можем ли мы получить число, делящееся на 3 без остатка, отняв только 1.
1) 84 делится на 3 без остатка, результат - 28.
2) Ближайший делитель 3 к 28 - это 27, получить его можем в одну команду "отнять 1".
3) 27 / 3 = 9
4) 9 / 3 = 3
5) 3 / 3 = 1
ответ: 5 команд.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку