1.1 平面分割问题-C++

1.1 平面分割问题-C++

【问题描述】

同一平面内有n(n≤500)条直线,已知其中p(p≥2)条直线相交于同一点,则这n条直线最多能将平面分割成多少个不同的区域?

【输入格式】

两个整数n(n≤500)和p(2≤p≤n)。

【输出格式】

一个正整数,代表最多分割成的区域数目。

【输入样例】

12 5

【输出样例】

73

1.分析问题

我们可以拿小一点的数字,比如n=3,p=3。

在这里插入图片描述

我们可以发现,当n=p时,这个平面上最多被分隔成p*2个面,如果读者还不理解的话,可自行列举一些n=p的例子。

接下来,我们可以举一个n!=p的例子,我们就列举n=4,p=3的例子。

我们可以将它分成两步分析:1.p条线进行分割;2.剩下的n-p条线继续分割。

第一步就和上面一样,分割区域为p乘2等于3*2等于6个区域。

第二步,我们可以拿第p+1条线也就是第4条线进行分割

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值