【深基4.例11】数列求和
题目描述
计算 1 + 2 + 3 + ⋯ + ( n − 1 ) + n 1+2+3+\cdots+(n-1)+n 1+2+3+⋯+(n−1)+n 的值,其中正整数 n n n 不大于 100。由于你没有高斯聪明,所以你不被允许使用等差数列求和公式直接求出答案。
输入格式
输入一个正整数 n n n。
输出格式
输出一个正整数,表示最后求和的答案。
样例 #1
样例输入 #1
100
样例输出 #1
5050
提示
数据保证, 1 ≤ n ≤ 100 1 \leq n \leq 100 1≤n≤100。
思路
这道题要用高斯求和公式,不对,不能用(虽然我试过,能用) 。这道题要用for循环,循环1到n,加上sum计数,每一次循环就执行sum+=i;,再讲下高斯求和公式,虽然大多数人都知道:1~n的求和公式是:n(n+1)/2。
C语言AC代码
#include<stdio.h>
int main(void){
int n,i,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++) sum+=i;
printf("%d",sum);
return 0;
}
C语言作弊(用高斯求和公式)AC代码
#include <stdio.h>
int main(void){
int n;
scanf("%d",&n);
printf("%d",(n+1)*n/2);
return 0;
}
总结
考验对for循环的使用。