醫(yī)療類(lèi)網(wǎng)站源碼網(wǎng)絡(luò)推廣網(wǎng)上營(yíng)銷(xiāo)
題目描述
sum=2+5+8+11+14+…,輸入正整數(shù)n,求sum的前n項(xiàng)和。
樣例輸入
2
樣例輸出
7
根據(jù)題目我們得知,求一個(gè)等差數(shù)列的和。
等差數(shù)列的下一項(xiàng)=前一項(xiàng)+d。d是等差。
根據(jù)這個(gè)直接求每一項(xiàng),再加進(jìn)sum的和,最后輸出即可。
在本題中,首項(xiàng)是2,等差(由2的下一項(xiàng)5得知是5-2)等于3,for循環(huán)得到每一項(xiàng),加進(jìn)sum輸出
#include<iostream>
using namespace std;/*做一個(gè)等差數(shù)列 求前n項(xiàng)和*///法1(粗略版)
int GetSum1(int n) {int a1 = 2; //第一項(xiàng)int sum = 2;for (int i = 1; i < n; i++) {a1 += 3; //下一項(xiàng)等于前一項(xiàng)+3 sum = sum + a1;}return sum;
}//法2 定義數(shù)組求每一項(xiàng)
int GetSum2(int n) {int sum = 0;int* NASA=new int[n]; //同作用寫(xiě)法for (int i = 0; i < n; i++) {//找到數(shù)列每一項(xiàng)NASA[i] = 2 + i * 3; //首項(xiàng)是2,公差是3sum += NASA[i];}return sum;
}int main() {int N;cin >> N;int res=GetSum1(N);//int res = GetSum2(N);cout << res << endl;return 0;
}