tutotveti.ru
Предметы
Биология
Українська мова
Музыка
Французский язык
Физика
МХК
Обществознание
Психология
ОБЖ
Право
Беларуская мова
Литература
Химия
Українська література
Экономика
Немецкий язык
География
Информатика
Қазақ тiлi
Геометрия
Английский язык
Русский язык
Окружающий мир
Алгебра
История
Другие предметы
Видео-ответы
ПОИСК
Войти
Регистрация
Информатика
Синформатикой у исполнителя калькулятор
Синформатикой у исполнителя калькулятор две команды, которым присвоены номера: 1. прибавь 1 2. умножь на 3 сколько есть программ, которые число 5 преобразуют в число 49? интересует само решение
zakriev767
1 25.09.2019 04:30
0
Ответы
beka9867
08.10.2020 17:25
Поиск пути по принципу дерева
Код на Руби
def f0(number, log) #
v = 1
n = number + v
# log = "#{log} + #{v}"
log = "#{log} + 1"
return [n, log]
end
def f1(number, log) #
v = 3
n = number * v
# log = "#{log} + #{v}"
log = "(#{log}) * 3"
return [n, log]
end
def countWays(start_num, end_num, op_number, max_steps = 0)
ways = {}
ways.store(start_num.to_s, start_num)
max_steps = max_steps == 0 ? (start_num - end_num).abs : max_steps
count = 0
for steps in 1..max_steps
# puts "steps = #{steps}"
new_ways = {}
ways.each_pair{|log, num|
for k in 0..op_number-1
num1, log1 = f0(num, log) if k == 0
num1, log1 = f1(num, log) if k == 1
if num1 == end_num then
log1 += " = " + end_num.to_s
count += 1
puts log1
elsif num1.between?(start_num, end_num)
new_ways.store(log1, num1)
else
# log1 = log1 + " = " + num1.to_s + " BAD "
# puts log1
end
end
}
# p [steps, ways.size, new_ways.size]
ways = new_ways
end
return count
end
p countWays(5, 49, 2, 49)
Вывод
((5) * 3 + 1) * 3 + 1 = 49
((5) * 3) * 3 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
15
ответ 15 вариантов программ
Как это решается аналитически я не знаю, но программно явно быстрее
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика
холера673
01.10.2019 00:01
Написать программу, которая выводит таблицу значений функции у = -2,4х2+5х-3 в диапазоне от -2 до 2 с шагом 0,5....
botanurmanova
01.10.2019 00:01
Что такое кодирование? какие клавиши называют функциональными?...
009988771
01.10.2019 00:01
Каждый символ в unicode закодирован двухбайтным словом. оцените информационный объем следующего предложения без охоты не споро у работы а) 28 байт b) 28 бит с) 448...
usik6
01.10.2019 00:01
Вкниге содержится 5940000 бит информации. известно , что на 300 страницах по 45 строк. сколько символов в строке, если мощность алфавита, с которого написан текст,...
lybchikfreed
14.05.2020 14:16
Сколько чисел из отрезка [27, 53], содержат в своей двоичной записи не менее трех значащих нулей....
ksenchernova
14.05.2020 14:16
Является ли Роза ветров графом?...
Алеся1111115
14.05.2020 14:17
Какую последовательность чисел даст вам вызов функции range(10, 0, -2)?...
volfxeniya
17.11.2020 18:18
Таблицы истинности (сложение написать полное решение...
поЧеМучКа11112
17.11.2020 18:19
При покупке нового процессора, обязательно ли покупать новую материнскую плату?...
настя7353
16.10.2020 07:29
Для кодирования значений скорости робота Lego Mindstorms EV3 (целое число в интервале от –53 до 53) используется двоичный код. Какова минимальная длина двоичного...
Популярные вопросы
Цена товара была 720 тг, затем она: 1)снизилась на 0,25 от первоначальной...
1
Представьте в виде многочлена (4х+1)^3...
3
Выписать старинные слова из рассказа бунина косцы...
1
Какое событи вошло в стояния на реке угре...
2
Решите окислительно-восстановительную реакцию(со всеми пояснениями)...
3
Розв яжіть графічно систему рівнянь із двома змінними: x+y=2...
3
Скласти твір розповідь з словами горить жевріє палає тліє...
3
Заранее ! нужно сделать морфологически разбор слов: с сестрой;...
3
Годовой объем реализации продаж в текущих ценах 1080 р средние...
2
При каком значении x верно равенство 62*x=44...
2
Код на Руби
def f0(number, log) #
v = 1
n = number + v
# log = "#{log} + #{v}"
log = "#{log} + 1"
return [n, log]
end
def f1(number, log) #
v = 3
n = number * v
# log = "#{log} + #{v}"
log = "(#{log}) * 3"
return [n, log]
end
def countWays(start_num, end_num, op_number, max_steps = 0)
ways = {}
ways.store(start_num.to_s, start_num)
max_steps = max_steps == 0 ? (start_num - end_num).abs : max_steps
count = 0
for steps in 1..max_steps
# puts "steps = #{steps}"
new_ways = {}
ways.each_pair{|log, num|
for k in 0..op_number-1
num1, log1 = f0(num, log) if k == 0
num1, log1 = f1(num, log) if k == 1
if num1 == end_num then
log1 += " = " + end_num.to_s
count += 1
puts log1
elsif num1.between?(start_num, end_num)
new_ways.store(log1, num1)
else
# log1 = log1 + " = " + num1.to_s + " BAD "
# puts log1
end
end
}
# p [steps, ways.size, new_ways.size]
ways = new_ways
end
return count
end
p countWays(5, 49, 2, 49)
Вывод
((5) * 3 + 1) * 3 + 1 = 49
((5) * 3) * 3 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5 + 1) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
(5) * 3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
5 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 49
15
ответ 15 вариантов программ
Как это решается аналитически я не знаю, но программно явно быстрее