分享一道笔试题[有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 相关文章推荐
jquery select操作的日期联动实现代码
Dec 06 Javascript
Jquery插件写法笔记整理
Sep 06 Javascript
简单的js表单验证函数
Oct 28 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
基于javascript实现彩票随机数生成(简单版)
Apr 17 Javascript
js解决movebox移动问题
Mar 29 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
Apr 01 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
微信小程序封装自定义弹窗的实现代码
May 08 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
javascript 事件处理程序介绍
2012/06/27 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python基础教程之常用运算符
2014/08/29 Python
Python pickle模块用法实例分析
2015/05/27 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Pytorch 实现权重初始化
2019/12/31 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
python实现canny边缘检测
2020/09/14 Python
Python基于内置函数type创建新类型
2020/10/22 Python
电子商务自荐书范文
2014/01/04 职场文书
质量月口号
2014/06/20 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
学术会议通知范文
2015/04/15 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
MySQL基础(一)
2021/04/05 MySQL
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript
css弧边选项卡的项目实践
2023/05/07 HTML / CSS