Вопрос по информатике:
У исполнителя Квадратор две команды,которым присвоены номера: 1.возведи в квадрат
2.вычти 2
Первая из них возводит число на экране во
вторую степень,вторая -вычитает из числа 2
Составьте алгоритм получения из числа 7 числа 79,содержащий не более 5 команд.
- 14.03.2018 07:45
- Информатика
- remove_red_eye 13640
- thumb_up 14
Ответы и объяснения 1
"((7 - 2 - 2)^2 )^2 - 2 = 79"
#Ruby22
def f0(number, log)
return [number * number, "(" + log + ")^2 "]
end
def f1(number, log)
return [number - 2, log + " - 2"]
end
end_num = 79
for n in 1..5
for i in 0..2**n-1
s = ("000000000000000000000000000000" + i.to_s(2))[-n..-1]
start_num = 7
log = start_num.to_s
for k in 0..s.size-1
start_num, log = f0(start_num, log) if s[k] == "0"
start_num, log = f1(start_num, log) if s[k] == "1"
# break if start_num > end_num
end
# p [start_num, log, s, n]
if start_num == end_num then
log += " = " + end_num.to_s
p log
end
end
end
- 15.03.2018 06:31
- thumb_up 41
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.