Задача 11
Ребята в клубе современного искусства делают три плаката для проекта. Все плакаты должны быть одной длины, и на каждом из них — по одному слову, повторенному несколько раз.
Так вышло, что три слова для плакатов все разной длины (и их длины не имеют общих делителей). Бумаги мало, поэтому длина плаката должна быть наименьшей из возможных.
Даны три слова. Выведи три строки одинаковой длины, состоящие из этих слов.
Ввод Вывод
ко
кот
котик кококококококококококококококо
коткоткоткоткоткоткоткоткоткот
котиккотиккотиккотиккотиккотик
Ответы
Ответ дал:
4
a = input()
b = input()
c = input()
i = 1
while True:
if i % len(a) == 0 and i % len(b) == 0 and i % len(c) == 0:
break
i += 1
print(a * (i // len(a)))
print(b * (i // len(b)))
print(c * (i // len(c)))
Аноним:
блин
там нельзя так
нельзя использовать условия и циклы
я так тоже могу
судя по всему, нужно найти нок длин слов. его можно найти как нок длин первых двух слов и длины третьего слова(как утверждает вики)
т.е. lcm(a, b, c) = lcm(lcm(a, b), c)
сам нок находится как:
lcm(a, b) = |a * b| / gcd(a,b) , где gcd = нод
его можно найти по алгоритму евклида, но я не уверен что его возможно будет реализовать без циклов и условий
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
8 лет назад
9 лет назад