题目描述
sum=2+5+8+11+14+...,输入正整数n,求sum的前n项和。
样例输入
2
样例输出
7
根据题目我们得知,求一个等差数列的和。
等差数列的下一项=前一项+d。d是等差。
根据这个直接求每一项,再加进sum的和,最后输出即可。
在本题中,首项是2,等差(由2的下一项5得知是5-2)等于3,for循环得到每一项,加进sum输出
cpp
#include<iostream>
using namespace std;
/*做一个等差数列 求前n项和*/
//法1(粗略版)
int GetSum1(int n) {
int a1 = 2; //第一项
int sum = 2;
for (int i = 1; i < n; i++) {
a1 += 3; //下一项等于前一项+3
sum = sum + a1;
}
return sum;
}
//法2 定义数组求每一项
int GetSum2(int n) {
int sum = 0;
int* NASA=new int[n]; //同作用写法
for (int i = 0; i < n; i++) {
//找到数列每一项
NASA[i] = 2 + i * 3; //首项是2,公差是3
sum += NASA[i];
}
return sum;
}
int main() {
int N;
cin >> N;
int res=GetSum1(N);
//int res = GetSum2(N);
cout << res << endl;
return 0;
}