一【题目描述】
煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
二【解题思路】
这是一道程序填空题,它需要我们求出一共有多少个煤球,那么你很容易看出来,第一层与第二层相差2,然后是相差3,4,那么我们可以用这个规律直接用for循环来求总数,这只是一种方法;也可以观察出规律,然后可能符合等差或者等比,之后进行公式的计算。这里就直接用for循环求出结果,因为一般的经验来说,这样的数列是没有通向公式的,所以我们直接暴力的方法。
我们直接用for循环,一到100,循环累计,a[i]=a[i-1]+i(i是i层)。
三【解题步骤】
#include<iostream>
using namespace std;
int main()
{
int n=0;
int sum;
for(int i=1;i<=n;i++)
{
n = n+i;//这里就计算出了下一个
sum+=n;//累加
}
cout<<sum<<endl;
return 0;
}
答案:171700
四【总结】
一般找规律可以暴力破解,也可能会与数学知识挂钩,细心一点就好。如有更好的,欢迎交流哦。