СРОЧНО 100 БАЛЛОВ !!!!!!!!!!!!!!!!!
У Козака Вуса є нескінченна кількість зелених, жовтих та червоних яблук.
Він буде їх виставляти в один ряд за наступним алгоритмом:
Спочатку 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
Answers & Comments
Ответ:
k = int(input())
a, b, c, d, e = map(int, input().split())
B = [a, b, c, d, e]
if a >= k :
print ('0')
if a <= k and (a + b) > k :
print ('1')
if (a + b) <= k and (a + b+ c) > k:
print ('2')
if (a + b + c) <= k and (a + b+ c + d ) > k:
print ('3')
if (a + b + c + d) <=k and (a + b+ c + d + e) > k:
print ('4')
if (a + b + c + d + e) <= k:
print ('5')
Объяснение:
Phyton 3.8
ValueError: invalid literal for int() with base 10: '1 1 3 4' Почему ошибка?
Ответ:
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
print(n)
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')
Объяснение:
72 балла, на 100б не получается