分享一道笔试题[有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 相关文章推荐
JavaScript学习历程和心得小结
Aug 16 Javascript
浅析JavaScript中的常用算法与函数
Nov 21 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 Javascript
jQuery学习笔记之jQuery原型属性和方法
Jun 09 Javascript
js实现的牛顿摆效果
Mar 31 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
js实现图片缓慢放大缩小效果
Aug 02 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 Javascript
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
vue+spring boot实现校验码功能
May 27 Vue.js
利用谷歌地图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&amp;&amp;mysql)一
2006/10/09 PHP
PHP 采集获取指定网址的内容
2010/01/05 PHP
PHP Cookie学习笔记
2016/08/23 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python绘图方法实例入门
2015/05/19 Python
python实现反转部分单向链表
2018/09/27 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
商务日语毕业生自荐信范文
2013/11/14 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
婚前协议书范本
2014/04/15 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python