累加求和2 时间限制 : 1 Sec 内存限制 : 128 MB [ 提交 ][ 状态 ][ 讨论版 ] 题目描述 计算 1-2+3-4+5-6+7-......n 。其中, n 为 int 类型整数,限制其范围为: 1<=n<=1 000 000 000 。 提醒同学们在思考处理方法时,要注意 n 值可能很大,一不小心会导致 TLE ,即时间超过限制( Time Limit Exceeded )。 当然,这个题仍然十分简单。 Derson 只是借用此题,提醒大家当发现用暴力方法超时时,要及时调整思路,寻求效率更优的方法。 输入 输入整数 n ( 1<=n<=1 000 000 000 )。 输出 输出经求和计算得到结果。 样例输入 5 样例输出 3 解决上述问题的程序如下,但不完整。请将下面4处下划线处的代码补充完整。 本题由于n比较大,所以要用效率高的方法解答,即根据数据知识推导出公式,然后进行计算。 //写法一:用if-else语句 #include
int main(void) { int n; scanf ( "%d" ,__________); if(n%2==0) printf ( "%d" ,________); else printf("%d",________); return 0; } //写法二:用条件运算符(?:) #include
int main(void) { int n; scanf ( "%d" ,&n); printf ( "%d" ,(n%2)?(_____)/2:(-n)/2); return 0; } 可以直接填空作答。 也可点击题头位置的"【提交】",在ACM网站http://acm.hnust.cn上提交成功后(该网站上须自行注册登录后提交),再在这里填空作答。