整数的分区数是将整数表示为正整数之和的方式的数目。
例如:
5
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
有7种方式表示数字5,因此7是与数字5对应的分区号。
方向
编写一个程序,以正整数作为输入,并输出生成两个最接近输入数字的分区号的两个数字。
- 输入必须为1个正整数。
- 如果输入不是分区号,则输出必须是2个不同的正整数,它们生成与输入号最接近的两个分区号。(如果两个分区号是其中一个输出号的相等候选者,那么选择哪个分区都没关系。)
- 如果输入是分区号,则输出必须是1个生成输入号的正整数。
- 输入和输出可以采用任何合理的格式。
- 您可以假设输入将不大于1亿(例如,输出将永远不大于95)。
- 内置函数来计算分区号不容许,与其他一起标准的漏洞。
- 这是code-golf,因此最少要赢得字节数。
例子
Input: 66
Output: 11, 12
(与数字11和12对应的分区号是56和77,这是最接近66的两个分区号。)
Input: 42
Output: 10
(数字42已经是一个分区号,因此只需输出与该分区号相对应的数字即可。)
Input: 136
Output: 13, 14
(最接近136的两个分区号实际上都比136少(例如101和135),因此输出是13和14,而不是14和15。)
Input: 1
Output: 0 or 1
(在这种特殊情况下,0和1均为有效输出。)
Input: 2484
Output: 26, 25 or 26, 27
(这两种输出是有效的,因为2484等于d 我姿态1958和3010)
Input: 4
Output: 3, 4
(对)
您没有定义什么是分区号
—
骄傲的haskeller 2014年
@proudhaskeller分区号是OEIS序列中链接的号。分区号的解释
—
kukac67 2014年
5
在顶部。(如果您认为还不够清楚的话,我会加澄清。)