N顶点凸多边形中对角线交点的个数

本文探讨了N顶点凸多边形中对角线交点的数量问题,通过排列组合公式N*(N-1)(N-2)(N-3)/(4321)计算,简化为N(N-1)/2*(N-2)*(N-3)/4。解释了为何除以2,3,4总能除尽,并提供了C语言实现的代码片段,但需要注意VC++6.0不支持long long类型,需使用_int64并配合%I64d进行输入输出。" 115925015,10538452,使用matlab合成三角波信号,"['MATLAB', '信号处理', '数值计算', '数学模型', '编程']
摘要由CSDN通过智能技术生成

题目描述
对于一个N个定点的凸多边形,他的任何三条对角线都不会交于一点。请求楚图形中对角线交点的个数。

例如,6边形:
在这里插入图片描述
我们可以发现,两条不平行对角线才会有一个交点,同时,两条对角线又确定了一个四边形,也就是确定了4个顶点。如果我们确定了4个顶点的组合方式,我们也就能确定有多少个四边形,进而确定有多少个对角线交点。用排列组合的计算公式就是
在这里插入图片描述
即N*(N-1)(N-2)(N-3)/(4321)
考虑到如果初始N很大时,上面结果会超级大,可以改写成N
(N-1)/2*(N-2)*/3(N-3)/4

那为什么这样一定是对的呢?难道不会因为除不尽却向下取整而导致错误吗?

事实上是一定除得尽的

首先n和n-1一定有一个是2的倍数,因此2可以除尽,

同理n,n-1,n-2中一定有一个是3的倍数,因此3可以除尽(除掉2只会消除因数2而对3没有影响)

同理4也可以除尽
用C语言描述就是:

#
  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值