Синформатикой у исполнителя калькулятор две команды, которым присвоены номера: 1. прибавь 1 2. умножь на 3 сколько есть программ, которые число 5 преобразуют в число 49? интересует само решение
111
353
Ответы на вопрос:
Поиск пути по принципу дерева код на руби 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 вариантов программ как это решается аналитически я не знаю, но программно явно быстрее
Var a,x: integer; sum: integer; begin writeln('введите целое число'); readln( a ); x: = a; sum : = 0; while ( x< > 0 ) do begin sum : = sum + (x mod 10); x : = x div 10; end; writeln( 'сумма цифр числа ',a,' = ', sum ); пока х больше нуля: находим остаток от деления n на 10 (т.е. последнюю цифру числа), добавить его к сумме и увеличить произведение; избавляемся от последнего разряда числа n путем деления нацело на число 10.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
fedia2415.02.2023 18:23
-
фиксоня13.02.2021 05:32
-
adilukanova21.04.2022 00:46
-
Азим72128.08.2021 15:04
-
sirzikova28.05.2022 23:22
-
eleonora130620007.08.2021 12:04
-
lyis06.04.2020 03:17
-
АААННЯЯЯ11127.08.2022 10:09
-
нононононон18.05.2021 11:26
-
Molina12121210.06.2020 19:35
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.