分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
一个 分享 可以 多少 部分 笔试 一道 平面
2023-06-13 09:14:36 时间
<html>
题:<br/>
有n个直线最多可以把一个平面分成多少个部分<br/><br/>
线条数:<inputtype="text"id="line"/><br/>
内交点:<labelid="innerPoint"></label><br/>
分割数:<labelid="part"style="background:yellow;"></label><br/>
<inputtype="button"onclick="calculate()"value="计算"/>
</html>
<scripttype="text/javascript">
functioncalculate(line)
{
varline=document.getElementById("line").value;
if(line=="")
{
line=0;
document.getElementById("line").value=line;
}
varline=parseInt(line);
varinnerPoint=line*(line-1)/2;
varpart=(Math.pow(line,2)+line)/2+1;//line+innerPoint+1等于(线条数的平方+线条数)/2+1
document.getElementById("innerPoint").innerText=innerPoint;
document.getElementById("part").innerText=part;
}
</script>
说一下规律:
①最多分成的部分:线条数+内交点数+1
②内交点数=(线条数-1)的内交点数+(线条数-1),新添加的线条可以会与除他之外的线条有交点
③用递归求出内交点数,然后代入①计算
上面是正常的数学思维,下面说说我用的行测知识,就是我代码的东东
我列出了1~5条直线一些可用的参数:
直线数 内交点 外交点 部分数
1 0 2 2
2 1 4 4
3 3 6 7
4 6 8 11
5 10 10 16
发现,外交点是没有意义的,反正都是直线数的2倍
而部分数=直线数+内交点数+1
相邻直线个数内交点个数组成一个等差数列,这个等差数列公差为1, 1-0=1,3-1=2,6-3=3,10-6=4,横向看1+0=1,2+1=3,3+3=6...但是这样还是用到了递归要求出上一个对应的内交点个数,于是纵向看规律,2*1=23*2=64*3=12...正好是内交点个数的2倍
相关文章
- 技术分享 | MySQL中一个聚类增量统计 SQL 的需求
- 用Python做一个游戏辅助脚本,完整编程思路分享
- 技术分享 | orchetrator--安装一个高可用 orchestrator
- 在淘宝优化了一个大型项目,分享一些干货(Webpack,SplitChunk代码实例,图文结合)
- 分享一个Python当中用于绘制三维可视化图表的神器
- 分享一个很不错的车辆垂向动力学matlab工具箱
- 分享一个log4j的配置文件
- 分享一个免费开源的视频录制软件(OBS)
- 分享一个修改了xml文件再也不用重启的项目mybatis-xmlreload
- 如何编写一个YARN应用
- 开源一个微擎模块,免费分享给大家[核酸检测统计工具]-用于线下核酸检测时登记和排查的模块,可以帮助工作人员登记和排查数据。
- MySQL与PHP结合:一个实例分享(mysqlphp实例)
- 网页自动刷新,不产生嗒嗒声的一个解决方法
- PHP中通过加号合并数组的一个简单方法分享
- 一个PHP的ZIP压缩类分享
- python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享