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


Posted in Javascript onOctober 12, 2012
<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倍 

Javascript 相关文章推荐
jquery tools 系列 scrollable学习
Sep 06 Javascript
js中 关于undefined和null的区别介绍
Apr 16 Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
Oct 30 Javascript
jQuery中find()方法用法实例
Jan 07 Javascript
JQuery中Bind()事件用法分析
May 05 Javascript
JS+CSS实现带小三角指引的滑动门效果
Sep 22 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
angular2中使用第三方js库的实例
Feb 26 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
JavaScript实现简单的隐藏式侧边栏功能示例
Aug 31 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
Jul 22 Javascript
利用谷歌地图API获取点与点的距离的js代码
Oct 11 #Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 #Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 #Javascript
js函数的延迟加载实现代码
Oct 11 #Javascript
javascript中方便增删改cookie的一个类
Oct 11 #Javascript
js事件(Event)知识整理
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
Oct 11 #Javascript
You might like
Discuz 模板引擎的封装类代码
2008/07/18 PHP
PHP 各种排序算法实现代码
2009/08/20 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
phpmyadmin config.inc.php配置示例
2013/08/27 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
深入研究React中setState源码
2017/11/17 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
总裁岗位职责
2013/12/04 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
党支部承诺书
2015/01/20 职场文书
火烧圆明园观后感
2015/06/03 职场文书
Django与数据库交互的实现
2021/06/03 Python
基于Python实现流星雨效果的绘制
2022/03/18 Python