profile
Опубликовано 5 лет назад по предмету Информатика от Shaк

Автомат получает на вход трёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.
1. Вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.
2. Полученные два числа записываются друг за другом в порядке не возрастания (без разделителей).
Пример. Исходное число: 277. Поразрядные суммы: 9, 14. Результат: 149.

Определите, сколько из приведённых ниже чисел могут получиться в результате работы автомата.1212 129 123 1218 1812 312 912 112
В ответе запишите только количество чисел...

Поясните ответ,заранее спасибо)))

  1. Ответ
    Ответ дан Aillianna
    Из чего что получается, при пробежке от 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])


Самые новые вопросы