题目描述
小 X 给了你一个等差数列的前两项以及项数,请你求出这个等差数列各项之和。
等差数列:对于一个 n 项数列 a,如果满足对于任意 i \in [1,n)i∈[1,n),有ai+1−ai=d,其中 d 为定值,则称这个数列为一个等差数列。
输入格式
一行 33 个整数a1,a2,n,表示等差数列的第 1,2 项以及项数。
数据范围:
- ∣a1∣,∣a2∣≤106。
- 3≤n≤106。
输出格式
一行一个整数,表示答案。
输入输出样例
输入 #1复制
1 2 3
输出 #1复制
6
输入 #2复制
-5 -10 5
输出 #2复制
-75
思路:数学公式即可,a2-a1=d,an=a1+(n-1)*d
和:sn=(a1+an)*n/2 或sn=n*a1+n(n-1)d/2
#include<bits/stdc++.h>//注意大小,毕竟是等差数列之和。
using namespace std;
int main(){
long long a1,a2,n,d,sn;
cin>>a1>>a2>>n;
d=a1+(n-1)*(a2-a1);
sn=((a1+(d))*n)/2;
cout<<sn;
return 0;
}