HPU1471又是斐波那契数列?? 迷南。 2022-05-18 04:23 179阅读 0赞 1471: 又是斐波那契数列?? 时间限制: 1 Sec 内存限制: 128 MB 提交: 338 解决: 44 统计 **题目描述** 大家都知道斐波那契数列吧?斐波那契数列的定义是这样的: f0 = 0; f1 = 1; fi = fi-1 + fi-2 现在给你一个数x,聪明的你一定知道这是斐波那契数列中的第几项。 (数据保证x一定有对应的项y,且 0 <= y < 1e4) **输入** 第一行一个整数T,表示测试组数。 之后的T行,每行一个数x **输出** 对于每个测试数据,输出一行表示数x是第几项 **样例输入** 2 2 5 **样例输出** 3 5 **来源** 李战士 -------------------- 打表,大数取模,可是教的时候WA了好多次,今天问了下队友,他说要从2开始找 我打的表是从0开始往前找的,f\[1\]=1,f\[2\]=1 f \[ 1 \] = 1 , f \[ 2 \] = 1 所以这就很尴尬了,我输入1,输出也是1,但是结果是应该是2,这个坑好….. -------------------- 我的AC代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const LL mod=1e16+7; const int MAXN=1e4+9; LL f[MAXN]; char s[100000]; void init() { f[0]=0; f[1]=1; for(int i=2;i<MAXN;i++) f[i]=(f[i-1]%mod+f[i-2]%mod)%mod; } int main() { init(); int t; scanf("%d",&t); while(t--) { scanf("%s",s); int len=strlen(s); LL ans=0; for(int i=0;i<len;i++) ans=((ans*10)%mod+s[i]-'0')%mod; int x; for(int i=2;i<MAXN;i++) if(ans==f[i]) { x=i; break; } printf("%d\n",x); } return 0; } 队友的AC代码,用map存储的表,效率比较高 #include<bits/stdc++.h> using namespace std; typedef long long LL; const LL mod=1e16+7; const int MAXN=1e4+9; LL f[MAXN]; char s[100000]; int main() { map<LL,int> m; f[0]=0; f[1]=1; for(int i=2;i<MAXN;i++) { f[i]=(f[i-1]%mod+f[i-2]%mod)%mod; m[f[i]]=i; } int t; scanf("%d",&t); while(t--) { scanf("%s",s); int len=strlen(s); LL ans=0; for(int i=0;i<len;i++) ans=(ans*10+s[i]-'0')%mod; printf("%d\n",m[ans]); } return 0; }
相关 斐波那契数列 斐波那契数,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2, Love The Way You Lie/ 2022年11月19日 04:15/ 0 赞/ 309 阅读
相关 斐波那契数列 \\题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 思路 1. 递归(函数栈调用消耗 ゝ一纸荒年。/ 2022年10月29日 06:26/ 0 赞/ 114 阅读
相关 斐波那契数列 // 斐波那契数列.cpp : 定义控制台应用程序的入口点。 // \include "stdafx.h" \include<iostream> usin 谁践踏了优雅/ 2022年08月23日 14:45/ 0 赞/ 152 阅读
相关 斐波那契数列 关于斐波那契数列的解法,本人找到了一种比较简单的方法,结果是正确的,不知道各位有没有另外更好的解法,一起探讨探讨。 import java.util.; pu ╰+攻爆jí腚メ/ 2022年08月01日 12:15/ 0 赞/ 478 阅读
相关 斐波那契数列 定义:斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列从第三项开始,每一项都等于前两项之和。 矫情吗;*/ 2022年07月13日 04:49/ 0 赞/ 381 阅读
相关 斐波那契数列 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597, 冷不防/ 2022年07月13日 03:19/ 0 赞/ 407 阅读
相关 斐波那契数列 class FibIter(object): def __init__(self, lenth): self.lent 一时失言乱红尘/ 2022年05月27日 13:51/ 0 赞/ 410 阅读
相关 HPU1471又是斐波那契数列?? 1471: 又是斐波那契数列?? 时间限制: 1 Sec 内存限制: 128 MB 提交: 338 解决: 44 统计 题目描述 大家都知道斐波那契数列吧?斐波那 迷南。/ 2022年05月18日 04:23/ 0 赞/ 180 阅读
相关 斐波那契数列 include<iostream> using namespace std; int fibonacci1(int t) { if(t 古城微笑少年丶/ 2022年05月09日 08:58/ 0 赞/ 384 阅读
相关 斐波那契数列 ![1234096-20171112230708606-1911525192.png][] 转载于:https://www.cnblogs.com/ostrich-sugar た 入场券/ 2022年01月06日 23:41/ 0 赞/ 500 阅读
还没有评论,来说两句吧...