【HDU 1396】 【ZOJ 1629】 Counting Triangles

来源:互联网 发布:网络天才akinator很卡 编辑:程序博客网 时间:2024/04/30 01:29

Description

给出形如下图的三角形,问它包含多少个小三角形.

Input

测试包含多组数据,每行一个数N,代表三角形的层次,上图样例为二层。N<=500
整个测试以数字零代表结束

Output

输出包括多行,每行一个数,结果如题所要求。

Sample Input

1230

Sample Output

1513

HINT

Source


每增加一行,增加的正三角形和倒三角形个数有规律,可以通过递推解决

#include<stdio.h>int dp[510] = { 0, 1 };int main() {int i, n;for (i = 2; i <= 500; i++) {if (i % 2 == 1)dp[i] = dp[i - 1] + (i * i - 1) / 4 + i * (i + 1) / 2;elsedp[i] = dp[i - 1] + (i * i) / 4 + i * (i + 1) / 2;}while (scanf("%d", &n) != EOF)printf("%d\n", dp[n]);return 0;}



0 0