hdu 1249 三角形 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1249
几何规律题
题目分析:递推公式为ans[i]=ans[i-1]+6*(i-1),比较容易理解,两个三角形叠成六角星状,恰好把原图的两部分变成了八部分,增加了六块。由此推得每增加一个三角形时,这个三角形要去和现有的每个三角形匹配六角星的形状,所以6*(i-1)就得出了,再加上原有的,就是当前答案。
code:
#include<stdio.h>
__int64 a[10000]={0,2,8};
__int64 calculate(int x)
{
int i;
for(i=3;i<=x;i++)
{
a[i]=a[i-1]+6*(i-1);
}
return a[x];
}
main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%I64d\n",calculate(n));
}
}
PS:几何规律题下一步应该试着自己推规律了。