Розочка2018
18.06.2021 01:30

Составьте программу для вычисления функции, заданной графиком, применяя вложенное или каскадное ветвление


Составьте программу для вычисления функции, заданной графиком, применяя вложенное или каскадное ветв

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
66ХОХ66
05.12.2021 07:45
# Код на ruby 2.2.3p173
def zadanie(line, time)
    line = line.gsub(/[^MD]/, "")
    time.times { |i|
        k = 0
        while k < line.size - 1 do
            if line[k..k + 1] == "MD"
                line[k], line[k + 1] = line[k + 1], line[k]
                k+=1
            end
            k+=1
        end
        p [i+1,line]
    }
    return line
end
# # Примеры применения
# p zadanie("MDDDMMDMDDDDDM", 10)
p zadanie("MMDMMMDDDMDDDMD", 10)

Вывод
[1, "MDMDMMDMDDDMDDDM"]
[2, "DMDMDMMDMDDDMDDM"]
[3, "DDMDMDMMDMDDDMDM"]
[4, "DDDMDMDMMDMDDDMM"]
[5, "MDMDMMDMDDMM"]
[6, "MDMDMMDMDMM"]
[7, "MDMDMMDMMM"]
[8, "MDMDM"]
[9, "MDMDMDDD"]
[10, "MDMDMDD"]
"MDMDMDD"
0,0(0 оценок)
Ответ:
matwej2201
05.12.2021 07:45
# Код на ruby 2.2.3p173
def zadanie(line, time)
    line = line.gsub(/[^MD]/, "")
    time.times { |i|
        k = 0
        while k < line.size - 1 do
            if line[k..k + 1] == "MD"
                line[k], line[k + 1] = line[k + 1], line[k]
                k+=1
            end
            k+=1
        end
        p [i+1,line]
    }
    return line
end
# # Примеры применения
p zadanie("MDDDMMDMDDDDDM", 10)
# p zadanie("MMDMMMDDDMDDDMD", 10)
# p zadanie("MMMDMM", 5)

Вывод
[1, "DMDDMDMDMDDDMDM"]
[2, "DDMDDMDMDMDDMDMM"]
[3, "DDDMDDMDMDDMDMMM"]
[4, "MDDMDDMD"]
[5, "MDDDMD"]
[6, "MDMMMDMD"]
[7, "MMMDMD"]
[8, "MMDMD"]
[9, "MDMD"]
[10, "MD"]
"MD"
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота