mathe () 2002-05-11 08:17:04 在 专题开发/技术/项目 / 数据结构与算法 提问
输入正整数N,
要求输出
在1^2 , 2^2, 3^3,...,N^2每个数前加上正负号后求和的绝对值的即小值。
N<=1000000. :)
如果改成
1^3,2^3,3^3,...,N^3结论又如何?
20楼 liem (阿明)
情况已经清楚了
当n>=6时有:n=4k,4k+3结果为0,n=4k+1,4k+2结果为1。
根据上面的讨论,只要对n=4k+2进行证明就可以了。
记:S(m,n)(m<n)为m^2,(m+1)^2,...,n^2的代数和绝对值的最小值,s(n)=S(1,n)。则S(n,n+7)=0。
用归纳法证明s(4k+2)=1.已知k=1,k=2时有s(4k+2)=1(具体计算得出,见上面讨论),由于4k+2个数字中有2k+1个奇数,因此结果不能为零。设对k=1,2,...k0我们都有s(4*k+2)=1,则对k+1(k>=2),我们有:
S(4(k-1)+3,4(k+1)+2)=0
从而有:s(4(k+1)+2)=s(4(k-1)+2)+S(4(k-1)+3,4(k+1)+2)=1+0=1。
mathe () 回复于 2002-05-