Автомат получает на вход трёхзначное десятичное число. по полученному числу строится новое десятичное число по следующим правилам. 1. вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа. 2. полученные два числа записываются друг за другом в порядке не возрастания (без разделителей). пример. исходное число: 277. поразрядные суммы: 9, 14. результат: 149. определите, сколько из ниже чисел могут получиться в результате работы автомата.1212 129 123 1218 1812 312 912 112 в ответе запишите только количество поясните ответ,заранее

человек450 человек450    2   11.07.2019 04:40    3

Ответы
89132508504 89132508504  03.10.2020 00:54
Из чего что получается, при пробежке от 100 до 999
[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])
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика