4245: KI的斐波那契 递归
4245: KI的斐波那契
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 562 Solved: 213
Description
KI十分喜欢美丽而优雅的斐波那契数列,最近他新认识了一种斐波那契字符串,定义如下
f (0) = b, f (1) = a,
f (2) = f (1) + f (0) = ab,
f (3) = f (2) + f (1) = aba,
f (4) = f (3) + f (2) = abaab,
......
KI想知道 f (n) 中的第 m 位是什么,你可以帮他解决这个问题吗?
Input
第一行有一个整数 T ,表示测试组数。
接下来的每个测试组包含两个数 n, m 。
数据范围: T≤ 1000, 0 ≤ n ≤ 90, 1 ≤ m ≤ 1e18
Output
对于每个测试组,输出’a’或者’b’
Sample Input
5
4 1
5 3
10 22
22 233
66 2333333333333
Sample Output
a
a
a
b
a
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[111];
void dfs(int n,ll m)
{
if(n==0) {
puts("b");return;
}
if(n==1) {
puts("a");return;
}
ll tmp=f[n];
if(m>tmp) dfs(n-2,m-tmp);
else
dfs(n-1,m);
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
ll m;
scanf("%d%lld",&n,&m);
f[0]=0;f[1]=1;
for(int i=2;i<=n+1;i++)
f[i]=f[i-1]+f[i-2];
dfs(n,m);
}
}
4245: KI的斐波那契 递归相关推荐
- python斐波那契递归_Python递归斐波那契示例
python斐波那契递归 Good day, learners! In this tutorial we are going to learn about Python Recursion and u ...
- 斐波那契递归调用次数_递归求解斐波那契数列的时间复杂度——几种简洁证明...
TL:DR: 暴力递归求解斐波那契数列的时间复杂度的紧界不是 ,而是 . 本文将给出几个简洁证明 用最暴力的方法求解斐波那契数列,时间复杂度是多少?具体地说,就是求下面这个程序的复杂度: def fi ...
- java斐波那契 递归_Java递归实现斐波那契数列
程序调用自身的编程技巧称为递归( recursion).递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一 ...
- C语言递归算法求斐波那契,递归法求斐波那契数列(C语言版)
斐波那契数列: 又称黄金分割数列,指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 在数学上,斐波纳契数列以如下被以递归的方法定义 ...
- python 斐波拉契递归 尾递归 备忘录 动态规划 迭代
1 递归 #coding=utf-8 '''@author: 182 ''' from time import time def fab(n):if n==0:return 0if n==1:retu ...
- 数据结构与算法—递归算法(从阶乘、斐波那契到汉诺塔的递归图解)
目录 递归介绍 递归求阶乘 递归求斐波那契 递归解决汉诺塔 总结 递归介绍 递归:就是函数自己调用自己. 子问题须与原始问题为同样的事,或者更为简单: 递归通常可以简单的处理子问题,但是不一定是最好的 ...
- 由递推关系式用差分方程的方法得到通项公式实现求斐波那契数列的第n项;迭代、递归、栈、差分方程之间的本质联系以及由推广的迭代法解决“变态青蛙跳台阶”问题;汉诺塔问题的数字特征以及用递归解决的原理推导。
最近几天在研究算法中一个比较基础且突出的问题,就是关于"递推关系式.递归.迭代.序列前k项和"之间的区别与联系. 一.斐波那契数列与差分方程 首先我们考察一个经典的算法,求斐波那契 ...
- 递归时间/空间复杂度的分析(斐波那契为例)
写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...
- 斐波那契数列前n项和 c++_蹲在马桶看算法(Day8—LeetCode之NO.509 斐波那契数列)...
问题引入: 最先研究Successione di Fibonacci(斐波那契数列或兔子数列)的是意大利Leonardo Pisano Bigollo(又称斐波那契),最先是描述兔子生长的时候用上了这 ...
最新文章
- 一年六篇顶会的清华大神提出Fastformer:史上最快、效果最好的Transformer
- 如何编写高质量CSS
- 10 Lessons Learned Doing ICOs
- 可实现自动设置尺寸的图片上传类
- 北大教授最短毕业致辞。#人性的可爱 #饶毅#自我尊重
- 腾讯公司被法院强制执行25元,刚好是QQ超级会员的价格
- 计算机c语言在线课堂,计算机(C语言)
- 虚拟机安装SQLService启用windows功能NetFx3时出错
- 软件项目管理-会议记录模板
- linux vsftpd 配置及使用详解
- 轮廓检测论文解读 | 整体嵌套边缘检测HED | CVPR | 2015
- java工程名前有红色感叹号
- python123第九周_我的python学习之路-基础3
- 程序员写代码也存在本手、妙手、俗手
- Keras中的verbose参数
- linux内核纳秒精度时间,Linux时钟精度:毫秒?微妙?纳秒?
- a113 智能音箱芯片方案_智能音箱九大芯片方案商及其生产厂商和代表作品介绍-控制器/处理器-与非网...
- 嵌入式系统常用词汇统计表
- C++ 游戏开发(二)见缝插针小游戏
- react native 极光推送 jpush-react-native
热门文章
- 单片机定时器实验两位倒计时秒表_51单片机基础与应用8天速成(三)
- list redis 怎样做排行_redis实现商品销量排行榜
- python如何生成列表和元组数据_Python数据类型(列表和元组)
- 64测试cpu稳定性_SuperPI-圆周率计算与CPU性能与稳定性测试
- php淘客发单_如何使用PHP的curl函数调用维易淘客接口
- 最热门的10个Java微服务框架
- java sha1加密ascii码_如何使用加密芯片完成SHA1摘要运算
- 如何ping端口_干货 | 如何正确处理常见的8大网络故障
- mysql 导出数据字典_操作MySQL?这个库比pymysql香一百倍
- 小程序webview不全屏_小程序不在小(深度)