分享一道笔试题[有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操作word的参考代码
Oct 26 Javascript
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
Jun 22 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 Javascript
element-ui 表格数据时间格式化的方法
Aug 24 Javascript
详解小程序之简单登录注册表单验证
May 13 Javascript
uni-app 自定义底部导航栏的实现
Dec 11 Javascript
react合成事件与原生事件的相关理解
May 13 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 cookie的操作实现代码(登录)
2010/12/29 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
javascript iframe编程相关代码
2009/12/28 Javascript
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
Python随机生成彩票号码的方法
2015/03/05 Python
Python定时执行之Timer用法示例
2015/05/27 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
上课迟到检讨书
2014/02/19 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript