累加求和1 时间限制 : 1 Sec 内存限制 : 128 MB [ 提交 ][ 状态 ][ 讨论版 ] 题目描述 输入一个正整数 n ( 1<=n<=10000 ), 编程计算 1+2+...+n 。 输入 输入一个正整数 n ( 1<=n<=10000 ) 输出 计算 1+2+...+n 之和并输出。 样例输入 10 样例输出 55 解决上述问题的程序如下,但不完整。请将下面6处下划线处的代码补充完整。 方法一:利用循环累加的方式求和,不完整程序如下: #include
int main(void) { int n,a=____,b,i; scanf ( "%d" ,&n); for (i=1;___________;i++) _____________ ; printf ( "%d\n" ,a); } 方法二:利用数学知识推导出的公式求和,不完整程序如下: #include
int main(void) { int n,a; scanf ( "%d" ,&n); a=n*________/2 ; printf ( "%d\n" ,a); } 思考:如果n的取值比较大,请比较方法一和方法二的效率,并填空。 方法一的时间复杂度:O( _______ ) 方法二的时间复杂度:O( _______ ) 可以直接填空作答。 也可点击题头位置的"【提交】",在ACM网站http://acm.hnust.cn上提交成功后(该网站上须自行注册登录后提交),再在这里填空作答。