Автомат получает на вход трёхзначное десятичное число. по полученному числу строится новое десятичное число по следующим правилам. 1. вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа. 2. полученные два числа записываются друг за другом в порядке не возрастания (без разделителей). пример. исходное число: 277. поразрядные суммы: 9, 14. результат: 149. определите, сколько из ниже чисел могут получиться в результате работы автомата.1212 129 123 1218 1812 312 912 112 в ответе запишите только количество поясните ответ,заранее
[184, 129]
[275, 129]
[366, 129]
[390, 129]
[399, 1812]
[457, 129]
[481, 129]
[548, 129]
[572, 129]
[639, 129]
[663, 129]
[754, 129]
[845, 129]
[920, 112]
[930, 123]
[936, 129]
[993, 1812]
Общее кол-во
{129=>13, 123=>1, 1218=>0, 1812=>2, 312=>0, 912=>0, 112=>1}
ответ 4 числа
Код
def Avtomat2(chislo)
return 0 if !chislo.between?(100, 999)
s = chislo.to_s
a = s[0].to_i + s[1].to_i
b = s[1].to_i + s[2].to_i
s = [a, b].max.to_s + [a, b].min.to_s
return s.to_i
end
def zadanie(min, max, numbers)
b = Hash.new
numbers.each do |w|
b.store(w, 0)
end
for i in min..max
r = Avtomat2(i)
if numbers.include?(r)
p [i,r]
b[r] += 1
end
end
return b
end
# # # Примеры применения
p zadanie(100, 999, [129, 123, 1218, 1812, 312, 912, 112])