Problem A: 数三角形
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 636 Solved: 354
[Submit][Status][Web Board]
Description
给定一个等边三角形,它的每条边被分成n等分,分别用平行于三边的直线过各个n等分点截这个三角形,如图所示:
请问,图中总共有多少个三角形?
Input
输入包含多组测试数据,直至EOF。
每组测试数据包含一个正整数n,表示三角形三边被分为了n等份(n<500)。
Output
输出三角形的个数。
Sample Input
1
2
3
Sample Output
1
5
13
题目大意: 求把正三角形边n等分后所有等分点连线形成的图形中有多少个三角形。
想法: 这是一道数学题,找到规律输出即可。
完整代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
int ans;
while (~scanf("%d",&n)){
if (n%2 == 1){
ans = (n+1)*(2*n*n+3*n-1)/8;
printf("%d\n",ans);
}
else {
ans = n*(n+2)*(2*n+1)/8;
printf("%d\n",ans);
}
}
return 0;
}