Фон:
Я часто нахожу, что, просматривая сайт Stackexchange, я начинаю удивляться, как люди получают столько репутации, сколько они имеют. Я знаю, что всегда могу рассчитывать на Codegolf SE для решения своих проблем, поэтому вот оно:
Создайте программу, которая будет принимать положительное целое число, которое представляет репутацию человека. Мы проигнорируем награды и скажем, что это единственный способ получить / потерять представителя на SE (полная таблица здесь ):
- Каждая учетная запись начинается с 1 повторения и не может быть ниже
- Ваш вопрос проголосовал = +5
- Ваш ответ проголосовал = +10
- Ваш вопрос отклонен = -2
- Ваш ответ не оценен = -2
- Вы отрицаете ответ = -1
- Ваш ответ принят = +15
- Вы принимаете ответ = +2
Ваша программа должна выяснить, сколько из этих действий произошло с учетной записью этого пользователя, чтобы получить репутацию, которую они имеют. Он должен выяснить самое короткое количество действий, чтобы добраться до этого уровня повторений. Примеры:
Вход: 11 Результат: 1 ответ upvote
Входные данные: 93 Выходные данные: 6 ответов приняты, 1 ответ принят
В этих примерах, когда я говорю «вопрос с ответом», это означает, что за вопрос этого человека проголосовали. Когда я говорю «ответить отрицательно», это означает, что они отвергли чужой ответ.
Правила:
Code-Golf , поэтому самый короткий код, который может сделать это, выигрывает.