文章目录
前言
解决以下两个问题:
1、通过递归函数实现汉诺塔的应用。
2、通过递归实现斐波纳契数列的应用。
一、第一题:实验步骤及结果
1.构想思路,分析是什么借助什么移动到哪里。
2.编写程序
程序结果:
二、第二题:实验步骤及结果
1.建立函数模型,寻找递归的出口,和该数列递归特点。
2.编写程序
#include<stdio.h>
int fun(int x){
if(x == 0) return 0;
if(x <= 2) return 1;
else
return fun(x-1) + fun(x-2);
}
void main(){
int num,x,i,y,z=0;
printf("请输入该数列在斐波那切上的位置(从左往右) : ");
scanf("%d",&num);
y = fun(num-1);
for(i=0;i<num;i++)
{
x=fun(i);
z=z+fun(i);
printf("%5d",x);}
printf("\n该项在数列上是%d\n",y);
printf("该数列和是%d\n",6);
}
程序结果:
emmm递归其实就是嵌套的嵌套,是让计算机帮你理清,你只要告诉它怎么做,具体的实现计算机是会去实现的。