Мистер фокс разрабатывает программу для робота-лунохода. сегодня его роботу нужно добраться по прямой дороге длиной 24 фута от космодрома до базы, попутно забрав ценный предмет. будем считать дорогу отрезком, в левом конце которого находится космодром, в правом конце – база, а ровно посередине – лежит ценный предмет. мистер фокс может давать роботу три команды: a – сместиться на 1 фут вправо, b – сместиться на 2 фута вправо, c – сместиться на 3 фута вправо. набор из 24 фута команд a является удачным, так как приводит робота на базу (попутно он заберет ценный предмет, потому что остановится около него), а вот набор bccbcbccc удачным не является: робота на базу он , но вот ценный предмет робот не заберет, поскольку не остановится около него. сколько существует удачных наборов команд?
166
299
Ответы на вопрос:
Все удачные наборы команд должны включать остановку на отметке 12 футов. на отметку 1 фут робот может попасть с одной команды a; на отметку 2 фута - с команд aa и b (всего 2 набора команд); на отметку 3 фута - с команд aaa, ab, ba и c (4 набора). так как за одну команду робот может переместиться на 1, 2 или 3 фута, то для подсчета количества наборов команд, позволяющих роботу попасть на отметки n > 3, можно использовать формулу k(n) = k(n-1)+k(n-2)+k(n-3). напимер, на отметку 4 фута робот может попасть с отметок 3, 2 или 1 фут, следовательно, количество способов попасть на отметку 4 определяется как k(3)+k(2)+k(1). k(4) = k(3)+k(2)+k(1) = 4+2+1 = 7 k(5) = k(4)+k(3)+k(2) = 7+4+2 = 13 k(6) = k(5)+k(4)+k(3) = 13+7+4 = 24 k(7) = k(6)+k(5)+k(4) = 24+13+7 = 44 k(8) = k(7)+k(6)+k(5) = 44+24+13 = 81 k(9) = k(8)+k(7)+k(6) = 81+44+24 = 149 k(10) = k(9)+k(8)+k(7) = 149+81+44 = 274 k(11) = k(10)+k(9)+k(8) = 274+149+81 = 504 k(12) = k(11)+k(10)+k(9) = 504+274+149 = 927 так как вторая часть пути робота также имеет длину 12, то общее количество удачных наборов команд = 927*927 = 859 329
Const nx=30; var n,m,i,s,k,max,min: integer; z: array[1..nx] of integer; sr: real; begin write('введите n'); read(n); max: = -100; min: = 100; for i: =1 to n do begin z[i]: = random(25)-15; if max < z[i] then begin max: = z[i]; k: = i; end; if min > z[i] then begin min: = z[i]; m: = i; end; write(z[i]: 4); end; writeln; s: = z[k]; z[k]: = z[m]; z[m]: = s; for i: =1 to n do write(z[i]: 4); writeln; writeln('max = ',max,' k =',k ); writeln('min = ',min,' m =',m ); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
akerkebaidylda07.08.2020 09:32
-
ангел70903.08.2020 10:16
-
Alinatkd15.12.2022 21:07
-
nada999919.02.2021 14:30
-
natusy241129.08.2020 13:52
-
svetysa9516.02.2022 23:47
-
ГогольПушкинЕсенин22.09.2022 07:06
-
bun321.05.2021 17:25
-
sakdkk22.11.2021 05:59
-
марина192511.05.2021 19:23
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.