2013
11-12

# Triangular Sums

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

import java.io.BufferedInputStream;
import java.util.Scanner;

/**
* @author NC
* Poj3086
*/
public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(new BufferedInputStream(System.in));
int n = scan.nextInt();
for (int i = 1; i <= n; i++) {
int kk = scan.nextInt();
if (kk == 1) {
System.out.println(i + " 1 3");
continue;
}
int sum = 0;
int t = 1;
for (int j = 2; j <= kk + 1; j++) {
t += j;
sum += (j - 1) * t;
}
System.out.println(i + " " + kk + " " + sum);
}
}
}

1. 这道题目的核心一句话是：取还是不取。
如果当前取，则index+1作为参数。如果当前不取，则任用index作为参数。