题意:在圆上取n个点,相邻两个点之间连线,(注意,n和1相邻),然后所有点对(i ,i+2)相连,问能形成的不同的三角形有多少个?

思路:找规律

n=3,cnt=1;

n=4,cnt=8;

n=5 cnt=35    (5*2+5*2+ 5+5+5);

n=6 cnt= 32   (6*2+6*2+ 6+2);

n=7,cnt=35   (7*2+7*2+7);

n=8, cnt=40   (8*2+8*2+8)

n>6;cnt=5*n;

AC代码:

 #include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define m 20121111
int main()
{
int t,n;
scanf("%d",&t);
int cas=;
while(t--)
{
int ans;
scanf("%d",&n);
if(n<)
ans = ;
else if(n == )
ans = ;
else if(n == )
ans = ;
else if(n == )
ans = ;
else if(n == )
ans = ;
else
ans = *n;
printf("Case #%d: %d\n",cas++,ans%m);
}
return ;
}
04-21 08:22
查看更多