逻辑题小案例

有一对兔子,从出生的第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问某月的兔子总和是多少?

function rabitNum(){
			var month = prompt('请你输入月份:');
			//先定义前两个月的兔子的数量
			var rabit_num1 = rabit_num2= 1,
			     rabit_num;
			     //三个月没有生小兔子
			if (month < 3) {
				console.log('兔子的总和为' + rabit_num1 *2 +'只');
			} else {
				for(var i =3;i <= month;i ++){
				// 1 1 2 3 5 8 13
				//兔子的数量呈斐波那契数列
				//即1+1 =2  2+3 = 5
                rabit_num = rabit_num1 + rabit_num2;
                rabit_num1= rabit_num2;
                rabit_num2 = rabit_num;
         }
         
         console.log('兔子总和有:'+rabit_num*2 +'只');
         }
		}
		rabitNum();

//递归方法(效率较低,通过不停的调用自身来实现)

function  fn(n){
if(n == 1|| n==2){
	return  1
}
return  f(n-1)+f(n-2)
}
fn(6)

猴子摘下若干个桃子,当即吃掉了一半,还不过瘾 ,又多吃了一个,第二天,又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天的时候,发现只剩下一个桃子。要求用程序计算出:第一天一共摘下多少个桃子?

思路:最后一天有一个桃,那么当他前一天不多吃一个桃的时候,他最后一天就有前一天一半的桃 以此类推

function totalPeach(){
			var peach_num =1;
			for(var i = 9; i >= 1;i--){
				 peach_num =( peach_num +1)*2;
			}
			console.log('他第一天总共摘了'+peach_num+'桃');

		}
		totalPeach();

题目:判断101-200之间有多少个素数,并输出所有素数。
//明白素数是什么

    function numSum(){
    var count = 0;
    for(var i =101; i <= 200;i++){
      	for(var j =2 ;j < i;j++){
      	//能够被从2开始的数,取余是否为0
      		if (i % j == 0){
      			break;
      		}
      	}
      	//如果循环到最后都没有取余为0
      	if(i == j){
      		console.log(i+'此数是素数!');
      	    count ++;
     	}  	
      } 
      console.log('素数有'+count+'个');
     
      }
      numSum();
发布了28 篇原创文章 · 获赞 2 · 访问量 2923

猜你喜欢

转载自blog.csdn.net/weixin_45725020/article/details/102999068
今日推荐