Уведомления

Группа в Telegram: присоединиться

#1 Окт. 18, 2020 11:11:12

longdarknes
Зарегистрирован: 2020-10-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Олимпиадные задачи

Занумеруем пальцы правой руки: 1 - мизинец, 2 - безымянный, 3 - средний, 4 - указательный и 5 - большой.
Начнём считать пальцы на правой руке: первый - мизинец, второй - безымянный, третий - средний, четвёртый - указательный, пятый - большой, шестой - снова указательный, седьмой - снова средний, восьмой - безымянный, девятый - мизинец, десятый - безымянный и т.д.
Какой палец будет по счёту под номером N?
Формат вводных данных:
В единственной строке записано число N (N<= 2 * 10^9)
Формат выходныз данных:
Требуется вывести одно число - номер пальца, на котором остановится счет.
Подкиньте решений и идей пожалуйста,потому что задача идёт очень туго.

Офлайн

#2 Окт. 18, 2020 16:41:23

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 132
Репутация: +  18  -
Профиль   Отправить e-mail  

Олимпиадные задачи

я бы вот так сделал

 fingers = {
	0: 'мизинец', 1: 'безымянный', 2: "средний", 3: 'указательный',
	4: 'большой', 5: 'указательный', 6: "средний", 7: 'безымянный',
	8: 'мизинец', 9: 'безымянный'
}
number_of_fingers = {'мизинец': 1, 'безымянный': 2, 'средний': 3, 'указательный': 4, 'большой': 5}
def name_of_the_finger(num):
	n = abs(int(num))
	if 0 < n < 10:
		return number_of_fingers[fingers[n - 1]]
	elif n > 9:
		return number_of_fingers[fingers[n % 9]]
num = input()
print(name_of_the_finger(num))

Онлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version