day18 函数小练习,递归

1、写一个函数,功能是告知 你所选定的小动物 的叫声。

function animal(scream) {
	scream = String(window.prompt('input'));
	switch(scream){
		case "dog" : console.log("汪");break;
		case "cat" :  console.log("喵");break;
		case "bird":  console.log("叽");break;
	}							
}		
animal();	

2、写一个函数,实现加法计数器。

function add(){
	var result = 0;
	for(var i = 0; i <arguments.length; i++){
		result += arguments[i];	
	}
	console.log(result);
}

3、定义一组函数,输入数字,逆转并输出汉字大写形式。

function reverse(){
 	var num = window.prompt('input');
 	var str = " ";
 	for(var i = num.length - 1; i >= 0; i --){
 			str += transfer(num[i]);
 	}
 	console.log(str);
 }
reverse();

function transfer(target){
	switch(target){
		case "1": 
		return "壹"; break;
		case "2":
		return "贰" ;break;
		case "3":
		return "叁" ;break;
		case "4":
		return "肆" ;break;
		case "5":
		return "伍" ;break;
		case "6":
		return "陆" ;break;
		case "7":
		return "柒" ;break;
		case "8":
		return "捌" ;break;
		case "9":
		return "玖" ;break;
		case "0":
		return "零" ;break;
	
	}
}

4、写一个函数,实现n的阶乘。

function  a(){
	var n = window.prompt('input');
	var num = 1;
	for(var i = n; i >= 1; i--){
			num *= i;
	}
	console.log(num);
}
a();

递归做法:

function mul(n){
	if( n == 1 || n ==0 ){
		return 1;
	}
	return n* mul(n-1);
}

5、写一个函数,实现斐波那契数列。

function a(n){
	var a = 1,
		b = 1;
	var temp = 0;
	for(var i = 0; i < n - 2; i++){
		temp = a + b;
		a = b;
		b = temp;
		if(temp > 100){
			return;
		}
		console.log(temp);
	}
}

递归做法:

function fb(n){
	if( n == 1 || n ==2){
		return 1;
	} 
	return fb(n - 1) + fb(n - 2);
}

递归:
  程序调用自身的编程技巧称为递归( recursion)。递归的能力在于用有限的语句来定义对象的无限集合。
  一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

写递归函数步骤:
1)找规律
2)找出口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值