Кредит Геобитсу в ТНБ за идею
Пост без достаточно подробно недавно положенный интересная игра:
2 ребенка сидят перед множеством конфет. Каждый кусочек конфеты пронумерован от 1 до x
, x
причем общее количество конфет присутствует. Существует ровно 1 вхождение каждого числа.
Цель игры состоит в том, чтобы дети ели конфеты и умножали значения конфет, которые они съели, чтобы получить окончательный результат с более высоким результатом.
Однако в оригинальном сообщении пропущена ключевая информация, например, как выбирается конфета, поэтому дети в нашей истории решили, что старший ребенок пойдет первым и может съесть до половины конфеты, однако, как только он объявит об окончании своей очереди, он не может передумать.
Один из детей в этой игре не любит конфеты, поэтому он хочет съесть как можно меньше, и однажды он видел, как его отец однажды написал какой-то код, и подумал, что он может использовать полученные навыки, чтобы определить, сколько конфет ему нужно есть, чтобы обеспечить победу, и в то же время есть как можно меньше.
Соревнование
Учитывая общее количество конфет x
, ваша программа или функция должны выдавать наименьшее количество конфет, которое он должен съесть, чтобы обеспечить победу n
, даже если его противник съел все оставшиеся конфеты.
Естественно, чем больше число, тем больше число, поэтому, сколько бы вы ему ни дали, он съест самые n
большие числа.
Правила
x
всегда будет положительным целым числом в диапазоне,0 < x! <= l
гдеl
верхний предел возможностей обработки вашего языка- Это гарантирует , что ребенок всегда будет есть
n
наибольшее число, например , дляx = 5
иn = 2
он будет есть4
и5
Контрольные примеры
x = 1
n = 1
(1 > 0)
x = 2
n = 1
(2 > 1)
x = 4
n = 2
(3 * 4 == 12 > 1 * 2 == 2)
x = 5
n = 2
(4 * 5 == 20 > 1 * 2 * 3 == 6)
x = 100
n = 42
(product([59..100]) > product([1..58]))
x = 500
n = 220
(product([281..500]) > product([1..280]))
счет
К сожалению, нашему храброму участнику нечего написать свой код, поэтому он должен расположить кусочки конфеты в символы кода, в результате ваш код должен быть как можно меньше, наименьший код в байтах выигрывает!
x = 0
Также должны быть обработаны, так как 0! = 1
? (Возможно, x
также следует указывать как положительное целое число?)