UVa11401

计算不符合三角形的组合数,设x为最小边,y+z>x,所以要求y-z>=x这样的组合有多少个(为保证不重复设x<y<z)。

 1 #include<stdio.h>
 2 typedef long long i64;
 3 int main()
 4 {
 5     i64 i,n,sum;
 6     while(scanf("%lld",&n)!=EOF&&n>=3)
 7     {
 8        sum=0;
 9        for(i=1;i<=n/2;i++)
10        sum+=(n-2*i+1)*(n-2*i)/2;
11        printf("%lld\n",n*(n-1)*(n-2)/6-sum);
12     }
13     return 0;
14 }

 

posted on 2013-06-30 15:20  Ac_国士无双  阅读(171)  评论(0编辑  收藏  举报