煤球數目(2016年第七屆藍橋杯c/c++省賽B組(1題))
阿新 • • 發佈:2019-02-02
第一題 :煤球數目
題目敘述:
有一堆煤球,堆成三角稜錐形。具體:
第一層放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;
}