根據邊長每增加一,正三角和反三角增加的多少進行判斷!
[csharp]
#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;
else
dp[i]=dp[i-1]+(i*i)/4+i*(i+1)/2;
}
while(scanf("%d",&n)!=EOF)
printf("%d\n",dp[n]);
return 0;
}
根據邊長每增加一,正三角和反三角增加的多少進行判斷!
[csharp]
#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;
else
dp[i]=dp[i-1]+(i*i)/4+i*(i+1)/2;
}
while(scanf("%d",&n)!=EOF)
printf("%d\n",dp[n]);
return 0;
}