1.Жолдық шама деген не?
2.Жолдық шамалар қандай қызметші сөзбен белгіленеді? 3.Бір жолдық айнымалыға қанша символ жазуға болады? 4.Жолдық шаманың ұзындығы деген не?
5.Жолдық шаманың ұзындығын қалай анықтаймыз?
143
173
Ответы на вопрос:
Поиск пути по принципу дерева код на руби 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 вариантов программ как это решается аналитически я не знаю, но программно явно быстрее
Популярно: Информатика
-
Antistar03.10.2021 07:35
-
likairin00Lika12314.08.2021 16:01
-
Alla03u0325.08.2021 20:40
-
Yunusovaliana2012.10.2020 22:35
-
alidagalamova200317.07.2020 08:11
-
KarinaZinovets17.12.2020 08:54
-
DamirLike09.01.2022 09:53
-
Dasha2010111127.11.2020 01:49
-
sofiahayda20.02.2022 18:17
-
graf223101.02.2022 16:10