nyoj 260-数数小木块 (打表)
260-数数小木块
内存限制:64MB
时间限制:3000ms
特判: No
通过数:17
提交数:24
难度:1
题目描述:
在墙角堆放着一堆完全相同的正方体小木块,如下图所示:
因为木块堆得实在是太有规律了,你只要知道它的层数就可以计算所有木块的数量了。
现在请你写个程序 给你任一堆木块的层数,求出这堆木块的数量.
输入描述:
第一行是一个整数N(N<=10)表示测试数据的组数) 接下来的n行 每行只有一个整数 ,表示这堆小木块的层数,
输出描述:
对应每个输入的层数有一个输出,表示这堆小木块的总数量,每个输出占一行
样例输入:
2 1 5
样例输出:
1 35
C/C++ AC:
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 #include <cmath> 6 #include <stack> 7 #include <set> 8 #include <map> 9 #include <queue> 10 #include <climits> 11 12 using namespace std; 13 int N, n, T[200] = {0}, W[200] = {0}; 14 15 void cal_w() 16 { 17 for (int i = 1; i <= 195; ++ i) 18 { 19 T[i] = i + T[i - 1]; 20 W[i] = W[i - 1] + T[i]; 21 } 22 } 23 24 int main() 25 { 26 cal_w(); 27 cin >>N; 28 while (N --) 29 { 30 cin >>n; 31 cout <<W[n] <<endl; 32 } 33 }