【问题描述】
有一堆煤球,堆成三角棱锥形。具体:
第一层放 1 个,
第二层放 3 个(排列成三角形),
第三层放 6 个(排列成三角形),
第四层放 10 个(排列成三角形),
…
如果一共有100层,共有多少个煤球?
【答案提交】
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
题解:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int sum = 0, d = 0;
for(int i = 1;i <= 100; i ++)
{
d += i; // d 表示每一层的煤球数量
sum += d; // 累加
}
cout << sum << endl;
return 0;
}
答案:171700
练习题:煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
以下程序实现了这一功能,请你补全以下空白处内容:
#include <iostream>
using namespace std;
int f[101];
int main()
{
f[1] = 1;
for (int i = 2; i <= 100; i++)
f[i] = f[i - 1] + i;
for (int i = 2; i <= 100; i++)
____________________;
cout << f[100];
return 0;
}
A | f[i] = f[i - 1] + f[i - 2]; |
B | f[i] = f[i - 1] + f[i]; |
C | f[i] = f[i + 1] + f[i - 1]; |
D | f[i] = f[i + 1] + f[i]; |
答案:f[i] = f[i - 1] + f[i];