首页 > 代码库 > 斐波那契 递推算法
斐波那契 递推算法
/***Date : 2014.12.10***/
//递推算法:是理性思维模式的代表,根据已有的数据和关系,逐步推导而得出结果。
//执行过程:1)根据已知的结果和关系,求解中间结果。
///////////////////// 2)判断是否满足要求,若未满足,则继续根据已知结果和关系求解中间结果;若满足要求,则表示寻找到一个正确答案。
//13世纪,意大利数学家斐波那契的《算盘书》中记载:兔子产仔问题。
//一对两个月大的兔子,每月都可产仔一对,小兔子两月后的每月也可产仔一对;即1月生,3月开始可连续产仔。如无死亡,一年后多少兔子?
#include <stdio.h>
#include <stdlib.h>
int Fibonacci(int n)
{
int r1,r2;
if (n == 1 || n == 2)
{
return 1;
}
else
{
r1 = Fibonacci(n - 1);
r2 = Fibonacci(n - 2);
return r1 + r2;
}
}
int main()
{
int r,sum;
printf("递推算法求解兔子产仔问题:\n");
printf("请输入截止时间:");
scanf_s("%d",&r);
sum = Fibonacci(r);
printf("经过 %d 月,共可繁殖成 %d 对兔子,兔子数量共计 %d 只 .\n",r,sum,2*sum);
system("pause");
return 0;
//递推算法:是理性思维模式的代表,根据已有的数据和关系,逐步推导而得出结果。
//执行过程:1)根据已知的结果和关系,求解中间结果。
///////////////////// 2)判断是否满足要求,若未满足,则继续根据已知结果和关系求解中间结果;若满足要求,则表示寻找到一个正确答案。
//13世纪,意大利数学家斐波那契的《算盘书》中记载:兔子产仔问题。
//一对两个月大的兔子,每月都可产仔一对,小兔子两月后的每月也可产仔一对;即1月生,3月开始可连续产仔。如无死亡,一年后多少兔子?
#include <stdio.h>
#include <stdlib.h>
int Fibonacci(int n)
{
int r1,r2;
if (n == 1 || n == 2)
{
return 1;
}
else
{
r1 = Fibonacci(n - 1);
r2 = Fibonacci(n - 2);
return r1 + r2;
}
}
int main()
{
int r,sum;
printf("递推算法求解兔子产仔问题:\n");
printf("请输入截止时间:");
scanf_s("%d",&r);
sum = Fibonacci(r);
printf("经过 %d 月,共可繁殖成 %d 对兔子,兔子数量共计 %d 只 .\n",r,sum,2*sum);
system("pause");
return 0;
}
斐波那契 递推算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。