逻辑分析题汇总(一)
1.有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序分析: 兔子的规律为数列: 1 1,2,3,5,8,13,21,34,表示了一种动植物数量的正常增长的数量变化
月份: 1 2 3 4 5 6 7 8 9 10
第一种方法:使用递归——但这种方法递归调用的效率非常低。
1 function dd(n){ 2 if (n < 3) {return 1;} 3 if(n >= 3){//这里注意n还有等于3的情况,不然会导致递归中断 4 return (dd(n-1)+dd(n-2)); 5 } 6 } 7 console.log(dd(10));
第二种方法:使用循环
1 // f(n-2)+f(n-1) = f(n) 2 // 1 1 2 n=3 3 // 1 2 3 n=4 4 // 2 3 5 n=5 5 // 3 5 8 n=6 6 7 function dd(n){ 8 var a =1,b=1,c=1; 9 for(var i =3;i <= n;i++){ 10 a =b; 11 b =c; 12 c= a+b; 13 } 14 return c; 15 } 16 console.log(dd(6));
这种方式更加巧妙。
2.将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5 。
1 function fenjie(n){ 2 var arr=[]; 3 for(var i =2;i < n/2;i++){ 4 while(n % i == 0){while循环在指定条件为true时,就一直执行;不满足的话,就跳出循环 5 arr.push(i); 6 n/=i;//此处不断的循环 7 } 8 } 9 return arr.join('*'); 10 } 11 console.log('90 = ' + fenjie(90));
3.要求输出国际象棋棋盘。
在这里使用嵌套循环。
1 //外层循环控制行 for(var i = 0,str ='';i<8;i++){ 2 //内层循环控制列 3 for(var j = 0;j< 8;j++){ 4 //拼接一个正方形:如果r+c为偶数;就拼接空心方块,否则拼接实心方; 5 str += (i+j)%2 ==0?'□':'■'; 6 } 7 str+='\n'; 8 } 9 console.log(str);
实现效果:
在这里我们比较了几种情况,需要分析下:
输出情况:会输出每一次循环的值:
修改代码后:
输出:
修改代码:
输出:
修改代码:
输出:
转载于:https://www.cnblogs.com/xuzhudong/p/6593213.html
逻辑分析题汇总(一)相关推荐
- 2017-2018-1 《信息安全系统设计基础》课下测试错题汇总
2017-2018-1 <信息安全系统设计基础>课下测试错题汇总 (多选题|1分)假设用ADD指令完成C表达式t=a+b的功能,有关条件码寄存器的说法正确的是() A.若t==0,则ZF= ...
- mysql面试100题及答案_PHP面试100题汇总
PHP面试100题汇总 1,Http 和Https的区别 第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议 第二:http和https使用的是完全不同的连接方 ...
- 山东大学计算机系统原理,山东大学计算机组成原理三套题汇总
<山东大学计算机组成原理三套题汇总>由会员分享,可在线阅读,更多相关<山东大学计算机组成原理三套题汇总(18页珍藏版)>请在人人文库网上搜索. 1.2 .按功能分类,存储器可以 ...
- 腾讯+字节+阿里面经真题汇总,Android篇
简介 首先,Android是不是真的找工作越来越难呢?这个可能是大家最关心的.这个受大的经济环境以及行业发展前景的影响,同时也和个人因素有关. 近期一方面是所在的公司招聘Java开发人员很难招到合适的 ...
- c语言程序设计基础1千克,c语言学习知识编程经典编辑题汇总整编.doc
c语言学习知识编程经典编辑题汇总整编.doc - C语言编程基础习题汇总1.设计一个由键盘输入三个整数,求这三个数的平均数的程序.2.编写一个程序,用于水果店售货员结账.已知苹果每斤2.50元,鸭梨每 ...
- python课设代码_python课程编程题汇总(上)
python编程题汇总 众所周知,由于疫情的原因,大家都在上网课,我也不例外啦~ 用这个贴子来记录也和大家分享一下我们课上的编程讨论题 中篇在此→python课程编程题汇总(中) 下篇在此→pytho ...
- 软考信息安全工程师考试历年真题汇总及试题分布统计
软考信息安全工程师考试历年真题汇总 2018年上半年信息安全工程师考试真题与答案(上午题) 2018年上半年信息安全工程师考试真题与答案(下午题) 2017年上半年信息安全工程师考试真题含答案(上 ...
- 考研数学一基础技巧题汇总
本篇博客里博主总结了历年真题.模拟题中容易忽视的基础与技巧: 轻装上阵很重要!希望大家熟练掌握以下每个知识点. 本篇博客侧重于基础部分,同时还有一些不常考,但考题很简单的知识点. 但是考研数学题的思路 ...
- 高中计算机会考vb教程,高中信息技术VB会考上机程序题汇总
高中信息技术VB会考上机程序题汇总 信息技术(选修) 程序题汇总 ☆输入2个数,实现2个数的互换: ☆求S=1-2+3-4 +N a=text1.text N=text1.text b=text2.t ...
最新文章
- R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表、对转化为长表的数值数据列进行离散化、pivot_wider将数据转化为宽表
- 十一课堂|通过小游戏学习Ethereum DApps编程(4)
- @order注解_Spring Boot+OAuth2,一个注解搞定单点登录!
- java多线程 -- 创建线程的第三者方式 实现Callable接口
- mysql和FTP结合,vsftp基于mysql和ssl的配置
- leetcode初级算法3.存在重复元素
- Linux/CentOS下安装Apache/SVN/Subversion图文详解教程
- 【uoj#37/bzoj3812】[清华集训2014]主旋律 状压dp+容斥原理
- 基于DAYU的实时作业开发,分分钟搭建企业个性化推荐平台
- mysql publishedtime_MySQL数据库中的Date,DateTime,TimeStamp和Time类型
- Chrome上网问题解决记录
- Reg Exp正则表达式
- 解决jsp页面数据传递乱码问题
- 【疫情模型】基于matalb改进的SEIR模型【含Matlab源码 667期】
- 江苏计算机一级考试知识点,江苏计算机考试一级题型(江苏省计算机一级考试题型)...
- hiber+spring继续找bug
- 《九日集训》(第一讲)函数
- 原型、交互及界面设计阶段的评审会
- Python实战项目:基于jupyter notebook处理16年美国总统大选数据
- OpenStack_Rocky版-8.安装Dashboard面板服务
热门文章
- oracle lead_lag wm_concat,oracle函数 lag()和lead()
- 以二进制输出64位类型的数据_Java入门第五课:Java基本数据类型与变量的声明...
- 时间字符串转时间戳_Python3日期与时间戳转换的几种方法
- php 图片保存到本地文件,php 远程图片保存到本地的函数类
- OpenCV-Python实战(21)——OpenCV人脸检测项目在Web端的部署
- 用Java读取文件的5种方法-BufferedReader,FileInputStream,文件,扫描仪,RandomAccessFile
- 随机数生成器 java_Java中的随机数生成器
- Python urllib – Python 3 urllib
- Java中的原型设计模式
- jsf如何与数据库连接_JSF身份验证登录注销数据库示例