Кредит Geobits в ТНБ за ідею
Пост без досить докладно недавно покладений цікава гра:
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також слід вказати як позитивний цілий