分享一道笔试题[有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 简单验证代码(用户名,密码,邮箱)
Sep 28 Javascript
网页打开自动最大化的js代码
Aug 22 Javascript
document.write的几点使用心得
May 14 Javascript
JS中getYear()和getFullYear()区别分析
Jul 04 Javascript
jQuery仿gmail实现fixed布局的方法
May 27 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
分分钟玩转Vue.js组件
Oct 25 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
Webpack实现按需打包Lodash的几种方法详解
May 08 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
React如何实现浏览器打印部分内容详析
May 19 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 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常量及变量区别原理详解
2020/08/14 PHP
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
python实现批量修改文件名代码
2017/09/10 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
TensorFlow损失函数专题详解
2018/04/26 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
Python实现基于POS算法的区块链
2018/08/07 Python
Python get获取页面cookie代码实例
2018/09/12 Python
pandas删除指定行详解
2019/04/04 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
python3 kubernetes api的使用示例
2021/01/12 Python
python编程的核心知识点总结
2021/02/08 Python
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
大学自我鉴定
2013/12/20 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
银行竞聘报告范文
2014/11/06 职场文书
2015元旦节寄语
2014/12/08 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
mysql的单列多值存储实例详解
2022/04/05 MySQL
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技