Есть ответ 👍

Исполнитель май6 преобразует число, записанное на экране. у исполнителя три команды, которым присвоены номера: 1. прибавь 1 2. прибавь 2 3. прибавь 6 первая из них увеличивает число на экране на 1, вторая увеличивает это число на 2, а третья – на 4. программа для исполнителя май6 – это последовательность команд. сколько есть программ, которые число 21 преобразуют в число 30?

285
302
Посмотреть ответы 2

Ответы на вопрос:

Vivitek31
4,7(72 оценок)

Сначала найдем способы получить из 21 30, групируя комманды от большей к меньшей 21 + 2*4 + 0*2 + 1*1 = 30 - перестановок команд = (2+0+1)! /2! /0! /1! = 3 21 + 1*4 + 2*2 + 1*1 = 30 - перестановок команд = (1+2+1)! /1! /2! /1! = 12 21 + 1*4 + 1*2 + 3*1 = 30 - перестановок команд = (1+1+3)! /1! /1! /3! = 20 21 + 1*4 + 0*2 + 5*1 = 30 - перестановок команд = (1+0+5)! /1! /0! /5! = 6 21 + 0*4 + 4*2 + 1*1 = 30 - перестановок команд = (0+4+1)! /0! /4! /1! = 5 21 + 0*4 + 3*2 + 3*1 = 30 - перестановок команд = (0+3+3)! /0! /3! /3! = 20 21 + 0*4 + 2*2 + 5*1 = 30 - перестановок команд = (0+2+5)! /0! /2! /5! = 21 21 + 0*4 + 1*2 + 7*1 = 30 - перестановок команд = (0+1+7)! /0! /1! /7! = 8 21 + 0*4 + 0*2 + 9*1 = 30 - перестановок команд = (0+0+9)! /0! /0! /9! = 1 всего 3+12+20+6+5+20+21+8+1 = 96

Общее количество символов для записи номеров = 22+22+10=54 для кодирования одного символа необходимо log(2)54  ≈ 6 бит (2^6 = 64). для записи одного номера требуется 7*6 бит = 42 бита = 42/8 байт  ≈ 6 байтдля хранения 50 номеров потребуется 50*6 байт = 300 байт

Популярно: Информатика