LEXUS2705
08.07.2020 08:38

Садоводы решили увеличить урожай вишен и черешен. Для этого они предложили между каждыми двумя вишнями сажать хотя бы одну черешню. Теперь в саду нельзя сажать две вишни подряд. Все деревья в каждом ряду высаживаются в виде прямой аллеи. Для каждой аллеи вам известно количество саженцев вишен и количество саженцев черешен, которые на ней можно посадить (для разных аллей эти числа могут различаться).Используя данную информацию, определите максимальную длину каждой аллеи — максимально возможное количество деревьев в ней с учетом правил высаживания.

ответом на данную задачу является набор из четырех целых чисел, равных максимальной длине первой, второй, третьей и четвертой аллеи соответственно. ответ для каждого случая требуется записать в отдельной строки.

Если Вы не можете дать ответ для какой-то из аллей, то запишите в качестве ответа для данной аллеи любое число.

Рассмотрим пример. Допустим, что на какой-то аллее разрешено посадить не более 2 вишен и не более 4 черешен. Ниже на рисунке приведен один из оптимальных вариантов посадки деревьев: ЧВЧВЧЧ (Ч — черешня, В — вишня).В таком случае будет посажено 6 деревьев, причем между любыми двумя вишнями будет посажена хотя бы одна черешня. Были использованы все деревья, поэтому садоводы получили максимальную длину аллеи.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
vikaos01Vi
15.03.2020 17:56
1.                                        

program raf105;

const

 n = 5;

var

 a: array[1..n] of integer;

 x,max,min,i: integer;

begin

writeln('Введите ',n,' по очереди');

for i:=1 to n do

 readln(a[i]);

max:= a[1];

min:= a[1];

for i:=1 to n do

begin

 if max < a[i]

   then max:= a[i];

 if min > a[i]

   then min:= a[i];

end;

writeln;

write('Массив: ');

for i:=1 to n do

 write(a[i],' ');

writeln;

writeln('Наибольший элемент: ',max);

writeln('Наименьший элемент: ',min);

end.

2.                                        

program raf105;

const

 n = 5;

var

 a: array[1..n] of real;

 x,i: integer;

 min: real;

begin

writeln('Введите ',n,' по очереди');

for i:=1 to n do

 readln(a[i]);

writeln;

write('Исходный массив: ');

for i:=1 to n do

 write(a[i],' ');

min:= a[1];

for i:=1 to n do

 if min > a[i]

   then min:= a[i];

for i:=1 to n do

 a[i]:= a[i]/min;

writeln;

write('Изменённый массив: ');

for i:=1 to n do

 write(a[i],' ');

end.

3.                                        

program raf105;

const

 n = 8;

var

 a: array[1..n] of integer;

 x,i,max: integer;

begin

writeln('Введите ',n,' по очереди');

for i:=1 to n do

 readln(a[i]);

writeln;

write('Исходный массив: ');

for i:=1 to n do

 write(a[i],' ');

max:= a[1];

for i:=1 to n do

 if max < a[i]

   then max:= a[i];

for i:=1 to n do

 a[i]:= a[i]+max;

writeln;

write('Изменённый массив: ');

for i:=1 to n do

 write(a[i],' ');

end.

                                          PascalABC 3.4.2
0,0(0 оценок)
Ответ:
Lizkic
15.03.2020 17:56

1.

const n=5;

var a:array [1..n] of integer;

i:integer;

begin

write('       Исходный массив: ');

for i:=1 to n do

begin

a[i]:=random(21)-10;

write(a[i]:3,' ');

if a[i] mod 2 = 0 then a[i]:=a[i]-3

end;

writeln;

write('Преобразованный массив: ');

for i:=1 to n do write(a[i]:3,' ')

end.

2.

const n=8;

var a:array [1..n] of integer;

i,s:integer;

begin

write('Массив: ');

for i:=1 to n do

begin

a[i]:=random(21)-10;

write(a[i]:3,' ');

s:=s + a[i]

end;

writeln;

write('Сумма всех элементов массива: ',s)

end.

3.

const n=7;

var a:array [1..n] of integer;

i,p:integer;

begin

p:=1;

write('Массив: ');

for i:=1 to n do

begin

a[i]:=random(21)-10;

write(a[i]:3,' ');

if a[i] > 0 then p:=p * a[i]

end;

writeln;

write('Произведение положительных элементов массива: ',p)

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота