Bailian2753 菲波那契数列(POJ NOI0202-1755)【数列+记忆化递归】
问题链接:POJ NOI0202-1755 菲波那契数列。
菲波那契数列
总时间限制:
1000ms
内存限制:
65536kB
描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数a,要求菲波那契数列中第a个数是多少。
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20)
输出
输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小
样例输入
4
5
2
19
1
样例输出
5
1
4181
1
问题链接:Bailian2753 菲波那契数列
问题分析:
菲波那契数列的计算问题是常见程序问题,可以用递归函数实现,也可以用递推计算过程实现,项多了则需要打表以减少重复计算。
追加了一个记忆化递归的版本。
程序说明:(略)
题记:数列的项多了则需要打表来减少重复的计算。
AC的C语言程序(记忆化递归)如下:
/* Bailian2753 菲波那契数列 */#include <stdio.h>
#include <string.h>#define N 20
int f[N + 1];int fib(int n)
{if(f[n])return f[n];else if(n == 1 || n == 2)return f[n] = 1;else {if(f[n - 2] == 0) f[n - 2] = fib(n - 2);if(f[n - 1] == 0) f[n - 1] = fib(n - 1);return f[n] = f[n - 2] + f[n - 1];}
}int main(void)
{memset(f, 0, sizeof(f));int n, a;scanf("%d", &n);while(n--) {scanf("%d", &a);printf("%d\n", fib(a));}return 0;
}
AC的C语言程序如下:
/* Bailian2753 菲波那契数列 */#include <stdio.h>int fib(int n)
{return (n == 1 || n == 2) ? 1 : fib(n - 2) + fib(n - 1);
}int main(void)
{int n, a;scanf("%d", &n);while(n--) {scanf("%d", &a);printf("%d\n", fib(a));}return 0;
}
Bailian2753 菲波那契数列(POJ NOI0202-1755)【数列+记忆化递归】相关推荐
- 两个经典递归问题:菲波那契数列 + 汉诺塔
一.递归问题的处理步骤 1)抽象出递归公式:对实际问题进行部分穷举,抽象出递归关系(关键),并列出"递归表达式" 2)确定递归出口:找出递归调用终止点 二.菲波那契数列 实际问题: ...
- 菲波拉契数列(传统兔子问题)
题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 斐波那契数: 亦称之为斐波那契数列(意大利语: ...
- java - 菲波拉契数列 兔子个数
菲波拉契数列:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 结果演示 代码演示 package com.tw ...
- 2.3 基本算法之递归变递推 1188 菲波那契数列(2) python
http://noi.openjudge.cn/ch0203/1760/ """2.3 基本算法之递归变递推 1188 菲波那契数列(2)--3分 http://ybt. ...
- 2.3基本算法之递归变递推 1188 菲波那契数列(2)
http://noi.openjudge.cn/ch0203/1760/ /* 2.3基本算法之递归变递推 1188 菲波那契数列(2) http://ybt.ssoier.cn:8088/probl ...
- 1.5编程基础之循环控制 17:菲波那契数列--刘昕源-2019-06-23
/* 1.5编程基础之循环控制 17:菲波那契数列--刘昕源-2019-06-23 http://noi.openjudge.cn/ch0105/17/ */ #include <bits/s ...
- 信息学奥赛一本通 1188:菲波那契数列(2) | OpenJudge NOI 2.3 1760:菲波那契数列(2)
[题目链接] ybt 1188:菲波那契数列(2) OpenJudge NOI 2.3 1760:菲波那契数列(2) [题目考点] 1. 求斐波那契数列 多种方法求斐波那契数列 [解题思路] 该题可能 ...
- 信息学奥赛一本通 1071:菲波那契数 | OpenJudge NOI 1.5 17:菲波那契数列
[题目链接] ybt 1071:菲波那契数 OpenJudge NOI 1.5 17:菲波那契数列 [题目考点] 1. 斐波那契数列 参考:多种方法求斐波那契数列 [解题思路] 迭代法求斐波那契数列 ...
- 信息学奥赛一本通(1201:菲波那契数列)
1201:菲波那契数列 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 17460 通过数: 9993 [题目描述] 菲波那契数列是指这样的数列: 数列的第 ...
最新文章
- javascript 判断字符串中是否包含某个字符串
- [原创].NET 分布式架构开发实战之一 故事起源
- 案例丨神策数据赋能物流服务行业数字化转型
- 服务器端的根目录放置文件,放置在网站根目录下
- oracle dump 文件解析,oracle 事件转储udump文件
- Python笔记(3)
- Spring-context-ConfigurationClassBeanDefinitionReader类
- 用SpringGraph制作拓扑图和关系图
- 『学了就忘系列』Linux基础命令 — 搜索操作相关命令
- C中的malloc()和calloc()
- 2×3卡方检验prism_卡方检验(最强总结)
- python 启动新进程执行脚本
- 一线工程师如何看待《没了美国的EDA软件,我们就不能做芯片了》
- 论文阅读笔记|Deep Image Homography Estimation
- scrum敏捷开发、敏捷测试,快速迭代实践
- 移动H5前端性能优化指南
- 剑指offer做题记录
- Revit开发读取CAD信息
- CSS中内容的剪切属性clip
- 大数据蓝皮书:解读中国大数据发展十大趋势
热门文章
- oracle——expdp与impdp备份使用方法
- ArcGIS 栅格函数在线调用详解
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
- Centos7.7之离线安装kubectl
- .NET Core 3.0带来桌面支持(Windows Only)
- Apache MiNa 实现多人聊天室
- AcheGesture-开源免费的手势框架
- 高级着色语言HLSL入门(2)
- 55个javascript经典用法
- android sdk system images,Android SDK下边tools、platform-tools、system-images、sources等目录的作用...