ZCMU 1265(公式题)

1265: 数三角形

Description

给定一个等边三角形,它的每条边被分成n等分,分别用平行于三边的直线过各个n等分点截这个三角形,如图所示:

请问,图中总共有多少个三角形?

Input

输入包含多组测试数据,直至EOF。

每组测试数据包含一个正整数n,表示三角形三边被分为了n等份(n<500)。

Output

输出三角形的个数。

Sample Input

1
2
3

Sample Output

1
5
13

HINT
公式题
1.当n为偶数的时候,个数等于n*(n+2)(2n+1)/8;

2.当n为奇数的时候,个数等于(n+1)(2nn+3n-1)/8;

具体的推导的话就是根据分类讨论,求正三角的个数和倒三角的个数
Code:

#include <stdio.h>
int main()
{
    int n,sum;
    while(scanf("%d",&n)!=EOF)
    {
        if(n%2==0)
        {
            sum=(n*(n + 2)*(2*n + 1)) / 8;
            printf("%d\n",sum);
        }
        else
        {
            sum=((n + 1)*(2*n*n + 3*n - 1)) / 8;
            printf("%d\n",sum);
        }
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44941429/article/details/90900569