原命题:第七届蓝桥杯大赛个人赛省赛(软件类)真题\C语言B组
题面:
煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
….
如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
解答
题目很简单,就是一道水题,直接给出模拟的代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
LL num = 1;
LL all = 1;
for(int i = 2;i <101; i++)
{
//cout << "num = "<<num<<endl;
//cout<<"all = "<<all<<endl;
num += i;
all += num;
}
cout << all <<endl;
return 0;
}
利用公式计算的,我觉得还不如直接加法来的快捷
#include <iostream>
using namespace std;
int main()
{
int sum=0,n;
cin>>n;
for(int i=1;i<=n;i++)
{
sum+=i*(i+1)/2;
}
cout<<sum<<endl;
return 0;
}