7


  • Учителю
  • Решение задачи ЕГЭ по информатике

Решение задачи ЕГЭ по информатике

Автор публикации:
Дата публикации:
Краткое описание:
предварительный просмотр материала

19:43

Решаем № 22(B13). Способ № 4

Самый простой способ решения задач B13 в ЕГЭ.
Рассмотрим задачу.
1. У исполнителя Калькулятор две команды, которым присвоены номера:

1. прибавить 1
2. умножить на 2
Сколько есть программ, которые число 1 преобразуют в число 16?

Решение

Можно подставлять в формулу числа
F(x) = F(x + 1) + F(x * 2), где x - число которое нужно получить, "+ 1" и "* 2" - это команды исполнителя (подставляем нужные команды).
Последнее значение - это число 16. Запишем, что
F(16) = 1, т.е. из числа 16 можно сделать 1 программу.
F(15) = F(15+1) (предыдущая) + F(15*2) = F(16)+F(30) = 1 (т.к. значения F(30) у нас нет, то 0.
+1 *2

F(14) = F(14+1) + F(14*2) = 1+0=1
F(13) = F(14) + F(13*2) = 1+0=1
F(12) = F(13) + F(12*2) = 1+0=1
F(11) = F(12) + F(11*2) = 1+0=1
F(10) = F(11) + F(10*2) = 1+0=1
F(9) = F(10) + F(9*2) = 1+0=1
F(8) = F(9) + F(8*2) = 1+1=2
F(7) = F(8) + F(7*2) = 2+1=3
F(6) = F(7) + F(6*2) = 3+1=4
F(5) = F(6) + F(5*2) = 4+1=5
F(4) = F(5) + F(4*2) = 5+2=7
F(3) = F(4) + F(3*2) = 7+4=11
F(2) = F(3) + F(2*2) = 11+7=18
F(1) = F(2) + F(1*2) = 18+18=36
Ответ: 36 программ.

2. У исполнителя Калькулятор три команды, которым присвоены номера:

1. прибавь 1
2. прибавь 3
3. умножить на 2

Сколько есть программ, которые число 3 преобразуют в число 15.
Всё очень похоже на предыдущий пример!
Мы имеем +1 +3 *2
F(15)=1
F(14)= F(14+1) + F(14+3) + F(14*2) = F(15)+F(17)+F(28)=1+0+0=1
F(13)= F(13+1) + F(13+3) + F(13*2) = F(14)+F(16)+F(26)=1+0+0=1
F(12)= F(12+1) + F(12+3) + F(12*2) = F(13)+F(15)+F(24)=1+1+0=2
F(11)= F(11+1) + F(11+3) + F(11*2) = F(12)+F(14)+F(22)=2+1+0=3
F(10)= F(11)+F(13)+F(20)=3+1+0=4
F(9) = F(10)+F(12)+F(18)=4+2+0=6
F(8)= F(9)+F(11)+F(16)=6+3+0=9
F(7)= F(8)+F(10)+F(14)=9+4+1=14
F(6)= F(7)+F(9)+F(12)=14+6+2=22
F(5)= F(6)+F(8)+F(10)=22+9+4=35
F(4)= F(5)+F(7)+F(8)=35+14+9=58
F(3)= F(4)+F(6)+F(6)=58+22+22=102
Ответ: 102 программы.

У исполнителя Удвоитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 2.
Первая из них увеличивает число на экране на 1, вторая удваивает его. Программа для Удвоителя - это последовательность команд.
Сколько есть программ, которые число 2 преобразуют в число 22?

Как решать?
Решать задания такого типа модно несколькими способами:
1) Можно построить схему.
2) Можно подставлять в формулу числа
F(x) = F(x + 1) + F(x * 2), где x - число которое нужно получить, "+ 1" и "* 2" - это команды исполнителя (подставляем нужные команды).

Решение
Нам необходимо из числа 2 получить число 22.
Подставляем в формулу числа:
F(x) = F(x + 1) + F(x * 2)
F(22) = 1, т.к. из числа 22 можно сделать только одну программу.
F(21) = F(21 + 1) + F(21 * 2) = 1 + 0 = 1;

F(21 + 1) = F(22), а F(22) = 1, значит F(21 + 1) = 1
F(21 * 2) > F(22), значит F(21 * 2) = 0

F(20) = F(20 + 1) + F(20 * 2) = 1 + 0 = 1;
F(19) = F(19 + 1) + F(19 * 2) = 1 + 0 = 1;
F(18) = F(18 + 1) + F(18 * 2) = 1 + 0 = 1;
F(17) = F(17 + 1) + F(17 * 2) = 1 + 0 = 1;
F(16) = F(16 + 1) + F(16 * 2) = 1 + 0 = 1;
F(15) = F(15 + 1) + F(15 * 2) = 1 + 0 = 1;
F(14) = F(14 + 1) + F(14 * 2) = 1 + 0 = 1;
F(13) = F(13 + 1) + F(13 * 2) = 1 + 0 = 1;
F(12) = F(12 + 1) + F(12 * 2) = 1 + 0 = 1;
F(11) = F(11 + 1) + F(11 * 2) = 1 + 1 = 2;
F(10) = F(10 + 1) + F(10 * 2) = 2 + 1 = 3;
F(9) = F(9 + 1) + F(9 * 2) = 3 + 1 = 4;
F(8) = F(8 + 1) + F(8 * 2) = 4 + 1 = 5;
F(7) = F(7 + 1) + F(7 * 2) = 5 + 1 = 6;
F(6) = F(6 + 1) + F(6 * 2) = 6 + 1 = 7;
F(5) = F(5 + 1) + F(5 * 2) = 7 + 3 = 10;
F(4) = F(4 + 1) + F(4 * 2) = 10 + 5 = 15;
F(3) = F(3 + 1) + F(3 * 2) = 15 + 7 = 22;
F(2) = F(2 + 1) + F(2 * 2) = 22 + 15 = 37;
Значит, существует 37 программ, которые число 2 преобразуют в число 22.
Ответ: 37.



 
 
X

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

После этого кнопка ЗАГРУЗКИ станет активной!

Кнопки рекомендации:

загрузить материал