【数学】求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
");
        else if(n==4)
            printf("1
");
        else
        {
            printf("%d
",n*(n-1)*(n*n-5*n+6)/24);
            if(n%2==0)
            {
                int tmp=n/2;
                //printf("%d
",n*(n-1)*(n-2)*(n-3)/24-tmp*(tmp-1)/2+1);
            }
            else
            {
                //printf("%d
",n*(n-1)*(n-2)*(n-3)/24);
            }
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/Diliiiii/p/9818550.html