作家
登录

分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]

作者: 来源:www.28hudong.com 2013-03-30 00:21:44 阅读 我要评论

复制代码 代码如下: <html> 题:<br /> 有n个直线最多可以把一个平面分成多少个部分<br /><br /> 线条数:<input type="text" id="line"/><br /> 内交点:<label id="innerPoint"></label><br /> 分割数:<label id="part" style="background:yellow;"></label><br /> <input type="button" onclick="calculate()" value="计算"/> </html> <script type="text/javascript"> function calculate(line) { var line = document.getElementById('line').value; if(line == "") { line = 0; document.getElementById('line').value = line; } var line = parseInt(line); var innerPoint = line * (line -1) / 2; var part = (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=2 3*2=6 4*3=12...正好是内交点个数的2倍

  推荐阅读

  Lazy Load 延迟加载图片的jQuery插件中文使用文档

什么是LazyLoad技术? 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占了几百K的空间。Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长>>>详细阅读


本文标题:分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]

地址:http://www.17bianji.com/kaifa2/JS/23012.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)