这个想法归功于TNB中的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
还应将其指定为正整数?)