分享一道笔试题[有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 相关文章推荐
论坛特效代码收集(落伍转发-不错)
Dec 02 Javascript
javascript中的return和闭包函数浅析
Jun 06 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
JavaScript实现身份证验证代码
Feb 17 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
Mar 13 Javascript
AngularJS+Bootstrap实现多文件上传与管理
Nov 08 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
利用谷歌地图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读取flv文件的播放时间长度
2009/09/03 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
php中{}大括号是什么意思
2013/12/01 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
ES6 let和const定义变量与常量的应用实例分析
2019/06/27 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
恶意软件的定义
2014/11/12 面试题
商超业务员岗位职责
2014/03/12 职场文书
大学新学期计划书
2014/04/28 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
统计员岗位职责范本
2015/04/14 职场文书
岗位聘任协议书
2015/09/21 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android