问题链接: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. 两个经典递归问题:菲波那契数列 + 汉诺塔

    一.递归问题的处理步骤 1)抽象出递归公式:对实际问题进行部分穷举,抽象出递归关系(关键),并列出"递归表达式" 2)确定递归出口:找出递归调用终止点 二.菲波那契数列 实际问题: ...

  2. 菲波拉契数列(传统兔子问题)

    题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 斐波那契数: 亦称之为斐波那契数列(意大利语: ...

  3. java - 菲波拉契数列 兔子个数

    菲波拉契数列:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 结果演示 代码演示 package com.tw ...

  4. 2.3 基本算法之递归变递推 1188 菲波那契数列(2) python

    http://noi.openjudge.cn/ch0203/1760/ """2.3 基本算法之递归变递推 1188 菲波那契数列(2)--3分 http://ybt. ...

  5. 2.3基本算法之递归变递推 1188 菲波那契数列(2)

    http://noi.openjudge.cn/ch0203/1760/ /* 2.3基本算法之递归变递推 1188 菲波那契数列(2) http://ybt.ssoier.cn:8088/probl ...

  6. 1.5编程基础之循环控制 17:菲波那契数列--刘昕源-2019-06-23

    /* 1.5编程基础之循环控制 17:菲波那契数列--刘昕源-2019-06-23  http://noi.openjudge.cn/ch0105/17/ */ #include <bits/s ...

  7. 信息学奥赛一本通 1188:菲波那契数列(2) | OpenJudge NOI 2.3 1760:菲波那契数列(2)

    [题目链接] ybt 1188:菲波那契数列(2) OpenJudge NOI 2.3 1760:菲波那契数列(2) [题目考点] 1. 求斐波那契数列 多种方法求斐波那契数列 [解题思路] 该题可能 ...

  8. 信息学奥赛一本通 1071:菲波那契数 | OpenJudge NOI 1.5 17:菲波那契数列

    [题目链接] ybt 1071:菲波那契数 OpenJudge NOI 1.5 17:菲波那契数列 [题目考点] 1. 斐波那契数列 参考:多种方法求斐波那契数列 [解题思路] 迭代法求斐波那契数列 ...

  9. 信息学奥赛一本通(1201:菲波那契数列)

    1201:菲波那契数列 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 17460     通过数: 9993 [题目描述] 菲波那契数列是指这样的数列: 数列的第 ...

最新文章

  1. javascript 判断字符串中是否包含某个字符串
  2. [原创].NET 分布式架构开发实战之一 故事起源
  3. 案例丨神策数据赋能物流服务行业数字化转型
  4. 服务器端的根目录放置文件,放置在网站根目录下
  5. oracle dump 文件解析,oracle 事件转储udump文件
  6. Python笔记(3)
  7. Spring-context-ConfigurationClassBeanDefinitionReader类
  8. 用SpringGraph制作拓扑图和关系图
  9. 『学了就忘系列』Linux基础命令 — 搜索操作相关命令
  10. C中的malloc()和calloc()
  11. 2×3卡方检验prism_卡方检验(最强总结)
  12. python 启动新进程执行脚本
  13. 一线工程师如何看待《没了美国的EDA软件,我们就不能做芯片了》
  14. 论文阅读笔记|Deep Image Homography Estimation
  15. scrum敏捷开发、敏捷测试,快速迭代实践
  16. 移动H5前端性能优化指南
  17. 剑指offer做题记录
  18. Revit开发读取CAD信息
  19. CSS中内容的剪切属性clip
  20. 大数据蓝皮书:解读中国大数据发展十大趋势

热门文章

  1. oracle——expdp与impdp备份使用方法
  2. ArcGIS 栅格函数在线调用详解
  3. ArcGIS制图表达Representation实战篇1-边界线和行道树制作
  4. Centos7.7之离线安装kubectl
  5. .NET Core 3.0带来桌面支持(Windows Only)
  6. Apache MiNa 实现多人聊天室
  7. AcheGesture-开源免费的手势框架
  8. 高级着色语言HLSL入门(2)
  9. 55个javascript经典用法
  10. android sdk system images,Android SDK下边tools、platform-tools、system-images、sources等目录的作用...