Предмет: Информатика,
автор: sashahripko1303
Срочно!!!
Яблука
У Козака Вуса є нескінченна кількість зелених, жовтих та червоних яблук.
Він буде їх виставляти в один ряд за наступним алгоритмом:
Спочатку 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
n, g, y, r = map(int, input().split())
c = 0
# todo
print(c)
Ответы
Автор ответа:
1
Ответ:
На 72 балла
n, g, y, r = map(int, input().split())
c = 0
e=g*2+y*2+r
while n>g*2+y*2+r:
n=n-e
if n <= g or g+y*2+r < n:
print('G')
elif g < n <= g+y or g+y+r < n <= g+2*y+r:
print('Y')
elif g+y < n <= g+y+r:
print('R')
else:
print('no')
Объяснение:
Похожие вопросы
Предмет: Русский язык,
автор: yla1231981
Предмет: Другие предметы,
автор: МАРИНАПОНАМЕКНОСИТРО
Предмет: Русский язык,
автор: Опана38
Предмет: Английский язык,
автор: ang1990
Предмет: Алгебра,
автор: FIoodyYouTube