计算
计算
题意分析
求\(f(n)\)值,注意这个\(n\)会很大,\(10^{15}\)如果时循环来写,会超时。
思路点拨
观察这个式子:
实际上奇数偶数交替相加,奇数都是负数。
先看奇数情况:
我们可以将这个式子都加上0,0没有正负,且对答案无影响。
\(f(1)=0+(-1)=-1\)
\(f(3)=0+(-1)+2+(-3)=-2\)
\(f(5)=0+(-1)+2+(-3)+4+(-5)=-3\)
\(...\)
可以看到,求奇数的时候,前后两两匹配,计算结果是\(-1\),有几个负数结果就是负几。负数个数如何得到:\(n/2+1\)。
那么再看偶数情况:
\(f(2)=(-1)+2=1\)
\(f(4)=(-1)+2+(-3)+4=2\)
\(f(6)=(-1)+2+(-3)+4+(-5)+6=3\)
\(...\)
可以看到一样的结论,因为偶数永远比它前一个负数的绝对值大一,每一对都是正\(1\),最后有几个正数结果就是几。正数个数如何得到:\(n/2\)。

浙公网安备 33010602011771号