В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
gladkova2002d
gladkova2002d
14.01.2023 11:11 •  Информатика

2) (в2)исполнитель калькулятор имеет только две команды, которым присвоены номера: 1. прибавь 1 2. умножь на 2 выполняя команду номер 1, калькулятор прибавляет к числу на экране 1, а выполняя команду номер 2, умножает число на экране на 2. укажите минимальное число команд, которое должен выполнить исполнитель, чтобы получить из числа 17 число 729.

Показать ответ
Ответ:
ПолиночкаПоля1
ПолиночкаПоля1
23.06.2020 11:55
M = []
n=20
base=2
for i in 0...(base**n)
    bin = i
    m[i]=[]
    for j in 0...n
        m[i][j] = bin % base
        bin/=base
    end
end

start = 17
stop=729
min="22222222222222222222222222"
s=""
m.each do |ops|
    num = start
    s=""
    ops.each do |op|
        if op==0
            num+=1
            s+="1"
        else
            num*=2
            s+="2"
        end
        if num >= stop then break end
    end
    # if (num == stop) then p s end
    if (num == stop) and (s.size<min.size) then
        min=s
    end
end
p min

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