挑战:
考虑以下函数F(N) = 2^N + 1
,其中N
的正整数小于31
。该函数定义的顺序是:
3, 5, 9, 17, 33, 65, 129, 257, 513, 1025, 2049, 4097, 8193, 16385, 32769, 65537, 131073, 262145, 524289, 1048577, 2097153, 4194305, 8388609, 16777217, 33554433, 67108865, 134217729, 268435457, 536870913, 1073741825
输入将生成如下:
- 从上面的序列中获取5 个连续的整数。
- 用不同的正整数替换它们之一(该整数可能会或可能不会成为上述序列的一部分)。
- (可选)对5个结果数字重新排序。
给定这样一个由5个整数组成的列表,找到被交换的一个,因此不属于原始5个连续整数的一部分。
例:
- 原始子列表:
5, 9, 17, 33, 65
。 - 替换为:
5, 7, 17, 33, 65
。 - 重新排序:
33, 17, 5, 7, 65
。
预期的输出将是7
。
输入中的5个值将始终是不同的,并且将始终存在唯一的解决方案。(例如,你不会有应对输入等3, 9, 17, 33, 129
,其中任何3
或129
可能在已交换)。
测试用例:
5,9,17,33,829
o/p: 829
9,5,17,829,33
o/p: 829
33, 17, 5, 7, 65
o/p: 7
5,9,177,33,65
o/p: 177
65,129,259,513,1025
o/p: 259
129,259,513,1025,65
o/p: 259
63,129,257,513,1025
o/p: 63
65,129,257,513,4097
o/p: 4097
5, 9, 2, 17, 33
o/p: 2
536870913, 67108865, 1073741825, 1, 268435457
o/p: 1
536870913,67108865,134217729,1,268435457
N = 30
作为输入值之一的测试用例。