题目描述
已知一个圆的圆周被N个点分成了N段等长圆弧,求任意取三个点,组成锐角三角形的个数。
输入
多组数据,每组数据一个N(N <= 1000000)
输出
对于每组数据,输出不同锐角三角形的个数。
样例输入
3
4
5
样例输出
1
0
5
解题报告
什么是锐角三角形?就是每个角小于90°,即与角相对的弧长不超过半圆。知道这些就不难写出代码了
#include<stdio.h>
typedef long long LL;
int main()
{
int n;
while(~scanf("%d",&n)){
LL a1=1+(n-1)/2-(n-(n-1)/2-1);
LL ak=(n-1)/2*2-(n-(n-1)/2-1);
LL ans=(a1+ak)*(ak-a1+1)/2;
ans=ans*n/3;
printf("%lld\n",ans);
}
return 0;
}