Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1882 Accepted Submission(s): 898
Problem Description
Given an equilateral triangle with n the length of its side, program to count how many triangles in it.
Input
The length n (n <= 500) of the equilateral triangle's side, one per line. process to the end of the file
Output
The number of triangles in the equilateral triangle, one per line.
Sample Input
1 2 3
Sample Output
1 5 13
Author
JIANG, Jiefeng
Source
http://acm.hdu.edu.cn/showproblem.php?pid=1396
Recommend
Ignatius.L
规律在这:
http://mathworld.wolfram.com/TriangleTiling.html
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n;
int sum;
while(cin>>n)
{
sum=n*(n+2)*(2*n+1);
if(n&1) sum--;
printf("%d\n",sum/8);
}
return 0;
}