1. 程式人生 > >煤球數目(2016年第七屆藍橋杯c/c++省賽B組(1題))

煤球數目(2016年第七屆藍橋杯c/c++省賽B組(1題))

第一題 :煤球數目

題目敘述:
有一堆煤球,堆成三角稜錐形。具體:
第一層放1個,
第二層3個(排列成三角形),
第三層6個(排列成三角形),
第四層10個(排列成三角形),
….
如果一共有100層,共有多少個煤球?

請填表示煤球總數目的數字。
注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。

思路: 通過觀察發現,每一層的個數都是上一層的個數加上本層的層號。比如第三層有6個,那麼第四層就是6+4=10個,我們可以假設第零層為0個。

程式碼:

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int n,sum=0;
    cin>>n;
    vector<int>s(n+1);
    s[0]=0;
    for(int i=1;i<=n;i++)
    {
        s[i]=s[i-1]+i;
    }
    for(int i=0;i<=n;i++)
    {
        sum+=s[i];
    }
    cout<<sum<<endl;
    return 0;
}