分享一道笔试题[有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 相关文章推荐
父元素与子iframe相互获取变量和元素对象的具体实现
Oct 15 Javascript
JavaScript对象数组排序函数及六个用法
Dec 23 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
Jun 08 Javascript
AngularJS入门教程之REST和定制服务详解
Aug 19 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
Bootstrap模态框插件使用详解
May 11 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 Javascript
微信小程序自定义toast的实现代码
Nov 16 Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
vue项目打包之开发环境和部署环境的实现
Apr 23 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
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
浅析php单例模式
2014/11/25 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
Python3中详解fabfile的编写
2018/06/24 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
Python识别验证码的实现示例
2020/09/30 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
Ajax的工作原理
2015/12/04 面试题
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
无房证明范本
2014/09/17 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
总账会计岗位职责
2015/04/02 职场文书
反邪教观后感
2015/06/11 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android