1 /*
    2  * ACM2006 Greater NY Region C++ Solution to B - Triangular Numbers
    3  *
    4  * John Buck
    5  * October, 2006
    6  */
    7 #include <stdio.h>
    8 #include <stdlib.h>
    9 
   10 /*
   11  * Define MAGIC_FORMULA if you want to see the real easy way
   12  */
   13 //#define	MAGIC_FORMULA
   14 
   15 int main()
   16 {
   17   int d, n, k, i, sum, t;
   18   char ibuf[256];
   19 
   20   /* Get number of datasets */
   21   if (::fgets(&(ibuf[0]), sizeof(ibuf), stdin) == NULL)
   22     {
   23       return(1);
   24     }
   25   d = ::atoi(&(ibuf[0]));
   26   /* For each dataset */
   27   for (i = 1; i <= d; i++)
   28     {
   29       /* Get n */
   30       if (::fgets(&(ibuf[0]), sizeof(ibuf), stdin) == NULL)
   31         {
   32           break;
   33         }
   34       n = ::atoi(&(ibuf[0]));
   35       /* Calculate sum: recall: T(n) = T(n-1) + n */
   36       sum = 0;
   37       /* T(1) = 1 */
   38       t = 1;
   39       for (k = 1; k <= n; k++)
   40         {
   41           /* Next T */
   42           t = t + (k+1);
   43           sum += k*t;
   44         }
   45 #ifdef MAGIC_FORMULA
   46       ::printf("%d %d %d   (Formula: %d)\n", i, n, sum,
   47                (n*(n+1)*(n+2)*(n+3))/8);
   48 #else
   49       ::printf("%d %d %d\n", i, n, sum);
   50 #endif
   51     }
   52   return(0);
   53 }