C/C++编程学习 - 第5周 ⑦ 等差数列求和(1)

题目链接

题目描述

等差数列是指从第二项起,每一项与它的前一项的差等于同一个常数的一种数列,这个常数叫做等差数列的公差,公差常用字母 d 表示。比如 7,10,13,16 就是一个公差为 3 的等差数列。

给定一个长度为 n,首项为 a0,公差为 d 的等差数列。

蒜头君请你帮忙求出这个等差数列的和值。

输入格式
输入第一行三个整数 n(1 ≤ n ≤ 105), a0(−105 ≤ a0 ≤ 105), d(−105 ≤ d ≤ 105),分别表示等差数列的项数,首项和公差。

输出格式
输出一行一个整数,表示等差数列所有项的和。

Sample Input

3 2 2

Sample Output

12

思路

等差数列求和公式:Sn = n * a1 + n(n - 1) d / 2
其中,a1是首项,d是公差,n是项数。

#include<stdio.h>
int main(void)
{
    
    
	long long a1, d, ans, n;
	scanf("%lld %lld %lld", &n, &a1, &d);
	ans = n * a1 + d * n * (n - 1) / 2;	//等差数列求和公式
	printf("%lld\n", ans);
	return 0;
}

C++代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
	long long int n, a1, d;
	while(cin >> n >> a1 >> d)
		cout << a1 * n + n * (n - 1) * d / 2 << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44826711/article/details/112909431