分享一道笔试题[有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 相关文章推荐
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
Sep 18 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
基于JavaScript实现瀑布流布局
Aug 15 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
Sep 12 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
Mar 24 Javascript
javascript+css实现俄罗斯方块小游戏
Jun 28 Javascript
react+antd 递归实现树状目录操作
Nov 02 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
Js动态创建div
2008/09/25 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python实现excel读写数据
2021/03/02 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
后勤工作职责
2013/12/22 职场文书
工程专业毕业生自荐信范文
2013/12/25 职场文书
开业庆典邀请函
2014/01/08 职场文书
高中数学教学反思
2014/01/30 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
财会专业大学生求职信
2014/09/26 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
python 批量压缩图片的脚本
2021/06/02 Python
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android