题目描述
sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。
样例输入
2
样例输出
7
根据题目我们得知,求一个等差数列的和。
等差数列的下一项=前一项+d。d是等差。
根据这个直接求每一项,再加进sum的和,最后输出即可。
在本题中,首项是2,等差(由2的下一项5得知是5-2)等于3,for循环得到每一项,加进sum输出
- #include
- 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;
- }