煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放
1
1
1 个,
第二层
3
3
3 个(排列成三角形),
第三层
6
6
6 个(排列成三角形),
第四层
10
10
10 个(排列成三角形),
…
…
…
如果一共有
n
n
n 层,那么总的煤球数是多少呢?
输入格式
输入一行,一个整数 n n n 表示层数
输出格式
输出 n n n 层煤球的总的数量
样例输入
20
样例输出
1540
数据范围: 1 ≤ n ≤ 1 0 6 1 ≤ n ≤ 10^6 1≤n≤106
注意问的是100层一共有多少个煤球而不是第100 层有多少煤球
//1 3 6 10
//规律:num[i]=num[i-1]+i;
//num[2] = 3;
//num[1] = 1;
//num[2] = num[1] + 2; 即num[i] = num[i - 1] + i;
#include<iostream>
#include<algorithm>
typedef long long ll; //习惯了
using namespace std;
const int N = 1e6 + 10;
ll sum;
ll num[N];
int main()
{
ll n, i = 1;
scanf("%lld", &n);
while(n--)
{
num[i] = num[i - 1] + i;
sum += num[ i ];
i++;
}
printf("%lld", sum);
return 0;
}