Triangular Sums 南阳acm122

Triangular Sums

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
 
描述

The nth Triangular number, T(n) = 1 + … + n, is the sum of the first n integers. It is the number of points in a triangular array with n points on side. For example T(4):

X
X X
X X X
X X X X

Write a program to compute the weighted sum of triangular numbers:

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

 
输入
The first line of input contains a single integer N, (1 ≤ N ≤ 1000) which is the number of datasets that follow.

Each dataset consists of a single line of input containing a single integer n, (1 ≤ n ≤300), which is the number of points on a side of the triangle.
输出
For each dataset, output on a single line the dataset number (1 through N), a blank, the value of n for the dataset, a blank, and the weighted sum ,W(n), of triangular numbers for n.
样例输入
4
3
4
5
10
样例输出
1 3 45
2 4 105
3 5 210
4 10 2145
来源
Greater New York 2006
上传者
张云聪
题目:比如这个三角形有4层,他的第一层为1.....第四层为4,T(n)=1+2+3+4;但是他不是让我们求T(n),让我们求W(n),W(n)=k*T(k+1); (k=1,2,....n);
然后输出的这三位分别是:第一位 1-t(t是多少组测试数据),第二位是 n(就是你输入的n),第三位是 W(n),(英语不好,别见怪哈~) 具体看代码实现:

 

#include<stdio.h>
//用来求T(n),1+2+3+...n;
int f(int n)
{
  int i,ans;
  ans=0;
  for(i=1;i<=n;i++)
      ans+=i;
  return ans;
}
int main()
{
  int t,a;
  a=1;    //用来计1到t;
  scanf("%d",&t);
  while(t--)
  {
    int i,n,k,ans;
    ans=0;
    k=1;
    scanf("%d",&n);
    //用来求W(n)
    for(i=0;i<n;i++)
    {
      ans+=(k*f(k+1));
      k++;
    }
    printf("%d %d %d\n",a++,n,ans);
  }
  return 0;
}

 

posted @ 2018-04-04 11:15  ˇskyblue  阅读(154)  评论(0编辑  收藏  举报