【数学】求n边型对角线交点个数
正n边型:
n%2==0
n*(n-1)*(n-2)*(n-3)/24-tmp*(tmp-1)/2+1 (tmp=n/2)
n%2!=0
n*(n-1)*(n-2)*(n-3)/24
非正n边型
n*(n-1)*(n*n-5*n+6)/24
#include <bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e6+5; int t,n,a,b; double num[100000]; int ans[100000]; int main() { while(scanf("%d",&n)!=EOF) { if(n==3) printf("0\n"); else if(n==4) printf("1\n"); else { printf("%d\n",n*(n-1)*(n*n-5*n+6)/24); if(n%2==0) { int tmp=n/2; //printf("%d\n",n*(n-1)*(n-2)*(n-3)/24-tmp*(tmp-1)/2+1); } else { //printf("%d\n",n*(n-1)*(n-2)*(n-3)/24); } } } return 0; }