当前位置: 代码迷 >> 综合 >> cigarettesTriangular Sums
  详细解决方案

cigarettesTriangular Sums

热度:128   发布时间:2023-09-22 23:14:33.0

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…n; k * 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

代码:

#include <iostream>
#include <stdio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int t(int n){int sum = 0;for(int i=1;i<=n;i++){sum+=i;}return sum;
}
int w(int n){int  sum = 0;for(int i=1;i<=n;i++){sum+=i*t(i+1);}return sum;
}
int main(int argc, char** argv) {int  n;scanf("%d",&n);int count = 1;while(n--){int i;scanf("%d",&i);printf("%d %d %d\n",count++,i,w(i));}return 0;
}