您应该编写一个程序或函数,该程序或函数接收一个整数作为输入,然后输出或返回两个总和为第一个整数的整数。
还有另一个要求:对于两个不同的输入,没有数字可以成为输出的一部分。
细节
- 您应该至少能够处理该范围
-32768 .. 32767
(包括该范围)的输入。 - 如果您的数据类型不能处理任意整数,那很好,但是从理论上讲,您的算法应适用于任意大小数。
例子
每个块以的格式显示正确或不正确解决方案的一部分input => output
。
1 => 6 -5
2 => -2 4
15 => 20 -5
Incorrect, as `-5` is used in two outputs.
-5 => -15 10
0 => 0 0
1 => 5 6
2 => -5 7
Incorrect, as `5 + 6` isn't `1`.
-1 => -1 0
0 => 6 -6
2 => 1 1
Can be correct if other outputs doesn't collide.
这是代码高尔夫球,因此最短的入场券获胜。
您可以将输入范围限制为-32768 .. 32767,以便我们不必使用17位整数吗?
—
FUZxxl
@FUZxxl我的错,那是我的意图。固定。
—
randomra 2015年
输出可以是包含两个整数的列表/数组/元组/集合/等吗?(例如,f(1)=> [2,-1])
—
单极
似乎有几种解决方案从根本上依赖于有限的整数大小-例如,通过将输入乘以一个大的正数和一个大的负数。在我看来,这样的解决方案未能满足“理论上您的算法应适用于任意大小的数字”的要求。我是在看错问题吗?
—
mathmandan