方向
编写一个程序,给定输入整数n(n >= 0
),输出最小的正整数 m,其中:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]
a
并且b
是相同长度的有限序列- 的所有元素
a
均小于m
- 的所有元素
b
均小于m
- 的所有元素
a
均不同且为整数a[x] >= 0
- 的所有元素
b
均不同且为整数b[x] >= 0
a[x]
并且b[x]
都不都是0(因为0 ^ 0是不确定的)
这是代码高尔夫球,因此最少的字节获胜。
例子
In 0 -> Out 1
Possible Sum:
In 1 -> Out 2
Possible Sum: 1^0
In 2 -> Out 3
Possible Sum: 2^1
In 3 -> Out 3
Possible Sum: 2^1 + 1^0
In 6 -> Out 4
Possible Sum: 2^2 + 3^0 + 1^1
In 16 -> Out 5
Possible Sum: 2^4
In 17 -> Out 4
Possible Sum: 3^2 + 2^3
In 23 -> Out 6
Possible Sum: 5^1 + 3^0 + 2^4 + 1^3
In 24 -> Out 5
Possible Sum: 4^2 + 2^3
In 27 -> Out 4
Possible Sum: 3^3
In 330 -> Out 7
Possible Sum: 6^1 + 4^3 + 3^5 + 2^4 + 1^0
m<2
,然后m<3
再m<4
等,直到我发现等于总和n
。另外,我考虑过让总和为0
无条件,但是输出是什么?m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k]
。
a
和b
是length的有限序列0
,因此m
没有不满足约束的整数,并且由于没有最小整数,因此未定义答案。可能的解决方法是要求提供最小的自然数m
(在这种情况下,应将期望的答案更改为该数字0
)或最小的正整数m
。