求1-2+3-4+5-6+....+n(n取很大)

来源:互联网 发布:域名备案主机不用了 编辑:程序博客网 时间:2024/04/29 15:39
很简单的一道题,但如何能够解出高效的算法呢?

给出代码:

long fn(long n) 

if(n<=0

printf(
"error: n must > 0); 
exit(1); 

if(0==n%2
return (n/2)*(-1); 
else 
return (n/2)*(-1)+n; 



初看它,我也扪心自问,这么简单的算法我不会写吗,但我根本不会考虑到要这样写。

不要认为CPU运算速度快 就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的.

确实,算法很重要.