У Козака Вуса є нескінченна кількість зелених, жовтих та червоних яблук.
Він буде їх виставляти в один ряд за наступним алгоритмом:
Спочатку g зелених яблук, потім y жовтих, потім r червоних, потім y жовтих, потім g зелених, а потім все знову нескінченну кількість разів. Наприклад, якщо g=1, y=3, r=4, то перші яблука виглядатимуть так:
GYYYRRRRYYYGGYYYRRRRYYYGGYYYRRR...
Тобто, всі яблука можна розбити на блоки. На цьому малюнку один блок це GYYYRRRRYYYG. Зверніть увагу, що блок починається і закінчується на один й той же символ. Саме тому на першому малюнку йдуть дві G підряд попри те, що g=1.
Знайдіть колір яблука, що знаходиться на n-ій позиції.
Входные данные
Перший рядок містить чотири цілі числа n, g, y, r (1≤n,g,y,r≤10
12
).
Зверніть увагу, що числа не вміщаються у 32-бітні цілочисельні типи даних. Тому потрібно використовувати 64-бітні цілочисельні типи даних, такі як long long в C++, long в Java чи int64 в Pascal.
Выходные данные
Якщо колір буде зелений, то виведіть «G».
Якщо колір буде жовтий, то виведіть «Y».
Якщо колір буде червоний, то виведіть «R».
Примеры
Ниже вы найдете примеры входных данных и ответов, которые должна вывести ваша программа.
Входные данные №1
1 1 3 4
Ответ №1
G
Входные данные №2
2 1 3 4
Ответ №2
Y
Входные данные №3
12 1 3 4
Ответ №3
G
Входные данные №4
13 1 3 4
Ответ №4
G
Входные данные №5
20 1 3 4
Ответ №5
R
Входные данные №6
1000000000000 1 3 4
Ответ №6
Y
Ответы
Ответ дал:
0
Ответ:
n, g, y, r = map(int, input().split())
count = 0
while True:
count += g
if count > n-1:
print('G')
break
count += y
if count > n-1:
print('Y')
break
count += r
if count > n-1:
print('R')
break
count += y
if count > n-1:
print('Y')
break
count += g
if count > n-1:
print('G')
break
Объяснение:
Питон 3.8
)
Вас заинтересует
2 года назад
7 лет назад
8 лет назад