【洛谷 入门1】顺序结构 P2181 对角线

P2181 对角线

题目描述
对于一个 nn 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。

例如,6 边形:
在这里插入图片描述

输入格式
输入只有一行一个整数 nn,代表边数。

输出格式
输出一行一个整数代表答案。

输入输出样例
输入
3
输出
0

输入输出样例
输入
6
输出
15

不会啊不会啊,看别人的题解。

#include<bits/stdc++.h>
using namespace std;
int main() 
{
    unsigned long long n,b;
    cin>>n;
    b=n * (n-1) / 2 * (n-2) / 3 * (n-3) / 4;
    cout<<b;
    return 0;
}

重点:

1、两条对角线确定一个交点,而四个顶点确定两条对角线。所以只需要求出四个顶点的搭配有多少种。注意,四个顶点的搭配,是组合不是排列,只要是这四个顶点都一样,所以用公式C(4,n),即n * (n-1) * (n-2) * (n-3) / 24

2、要把上面的公式换成n*(n-1)/2*(n-2)/3*(n-3)/4,不然光乘法就会爆范围。

3、可以用高精算法或者用unsigned long long,高精算法不会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值