分享一道笔试题[有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 CSS修改学习第五章 给“上传”添加样式
Feb 19 Javascript
关于include标签导致js路径找不到的问题分析及解决
Jul 09 Javascript
完美解决AJAX跨域问题
Nov 01 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
通用javascript代码判断版本号是否在版本范围之间
Nov 29 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
Vue数据驱动模拟实现3
Jan 11 Javascript
浅谈JS中几种轻松处理'this'指向方式
Sep 16 Javascript
在Koa.js中实现文件上传的接口功能
Oct 08 Javascript
如何利用JavaScript编写更好的条件语句详解
Aug 10 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 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系统流量分析的程序
2006/10/09 PHP
PHP开发入门教程之面向对象
2006/12/05 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
javascript 页面只自动刷新一次
2009/07/10 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
[34:08]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS EG
2018/03/30 DOTA
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
python正则分析nginx的访问日志
2017/01/17 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
python实现祝福弹窗效果
2019/04/07 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
python爬虫基础之urllib的使用
2020/12/31 Python
设计模式的基本要素是什么
2014/04/21 面试题
大专学生推荐信范文
2013/11/19 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
社区平安建设方案
2014/05/25 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS