POJ 3086 Triangular Sums (ZOJ 2773)

时间:2023-03-09 15:22:27
POJ 3086 Triangular Sums (ZOJ 2773)

http://poj.org/problem?id=3086

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1773

让你计算两个递推式:

T(n)=sum[1……n]

W(n) = SUM[k = 1…n; k * T(k + 1)]

思路:

直接计算即可。

#include<cstdio>
const int MAXN=302;
int T[MAXN]={0} , w[MAXN]={0};
int main()
{
for(int i=1;i<MAXN;i++)
{
T[i]= (i+1)*i;
T[i]>>=1;
}
for(int k=1;k<MAXN;k++)
{
w[k]=w[k-1]+ k * T[k+1];
}
int N;
scanf("%d",&N);
for(int ri=1;ri<=N;ri++)
{
int n;
scanf("%d",&n);
printf("%d %d %d\n",ri,n,w[n]);
}
return 0;
}