一个人必须完成N
工作单元;工作的性质是相同的。
为了控制工作,第一天他只完成一个工作单元。
他希望庆祝工作的完成,因此他决定在最后一天完成一个工作单元。
他只被允许完成x
,x+1
或x-1
在一天的工作单位,在那里x
是工作完成前一天的单位。
您的任务是创建一个程序或函数,以计算完成工作单元所需的最少天数N
。
样本输入和输出:
input -> output (corresponding work_per_day table)
-1 -> 0 []
0 -> 0 []
2 -> 2 [1,1]
3 -> 3 [1,1,1]
5 -> 4 [1,1,2,1] or [1,2,1,1]
9 -> 5 [1,2,3,2,1]
13 -> 7 [1,2,2,2,3,2,1]
输入可以通过STDIN
或作为函数参数,或以任何适当的方式进行。
输出可以被打印或作为功能的结果,或以任何适当的方式打印。
这是代码高尔夫球。最短的解决方案获胜。
1
提示:此整数列表可能会有所帮助。
—
Leaky Nun
那么,既然肯尼证明输入有可能达到负功数,输入是否仅限于正整数?还是每天的工作量限制为零?
—
mbomb007 '16
您为什么接受Pyth的答案?我的果冻答案短了3个字节...
—
Dennis
嘿,@ Dennis我需要了解这种方法,而@Kenny Lau可以帮助我理解它。
—
HarshGiri '16
我是CodeGolf的新手,所以这里需要一些时间才能全面了解所有内容。
—
HarshGiri '16