f(1)=1,f(2)=1;f(n)=f(n-1)+f(n-2);用递归和非递归方法写出函数f(n)
递归:
<script type="text/javascript"> function f(n){ if(n==1){ return 1; }else if(n==2){ return 1; }else{ return f(n-1)+f(n-2); }; }; alert(f(6)) </script>
非递归
<script type="text/javascript"> function f(n){ var arr = [1,1]; if(n>0){ if(n==1){ return 1; }else if(n==2){ return 1; }else{ var result=0; for(var i=2;i<n;i++){ arr[i]=arr[i-1]+arr[i-2]; result=arr[i]; } return result; } } } alert(f(6)) </script>