1. 程式人生 > >OpenJudge_P1760 菲波那契數列(2)(遞推)

OpenJudge_P1760 菲波那契數列(2)(遞推)

總時間限制: 1000ms 記憶體限制: 65536kB
描述
菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。
給出一個正整數a,要求菲波那契數列中第a個數對1000取模的結果是多少。
輸入
第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括一個正整數a(1 <= a <= 1000000)。
輸出
n行,每行輸出對應一個輸入。輸出應是一個正整數,為菲波那契數列中第a個數對1000取模得到的結果。

樣例輸入
4
5
2
19
1

樣例輸出
5
1
181
1

#include<cstdio>
#include<iostream>
#include<algorithm> using namespace std; #define MOD 1000 int a,b,c,t,n; int main(){ scanf("%d",&t); while(t--){ scanf("%d",&n); if(n<3){ printf("1\n"); continue; } a=0,b=1,c=1,n-=2; while(n--){ swap(a,b);swap(b,c);c=(a+b)%MOD; } printf
("%d\n",c); } }

相關推薦

OpenJudge_P1760 數列(2)()

總時間限制: 1000ms 記憶體限制: 65536kB 描述 菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。 給出一個正整數a,要求菲波那契數列中

數列 C 方法

菲波那契數列定義為:   f(1) = 1;   f(2) = 1;  當n>2時, f(n) = f(n-1) + f(n-2)。求菲波那契數列的第n項。 輸入 輸入一個正整數n(1≤n≤46)。 輸出 菲波那

-練習1--noi1760 數列(2)

tex 時間 正整數 itl n) col turn page def 遞推-練習1--noi1760 菲波那契數列(2) 一、心得 二、題目 1760:菲波那契數列(2) 總時間限制: 1000ms 內存限制: 65536kB描述菲波那契數列是指這樣的數列: 數列

Bailian2758 數列(2)【

2758:菲波那契數列(2) 總時間限制: 1000ms 記憶體限制: 65536kB 描述 菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。 給出一個正整數a,要求菲波那契數列中第a個數對1000取模的結果是多少。 輸入 第1行是測試資料的組數n,後面跟著n行輸

【NOI】1755:數列/ 2.2基本演算法之迴和自呼叫函式

傳送門:檢視 1755:菲波那契數列總時間限制:  1000ms   記憶體限制:  65536kB 描述 菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。 給出一個正整數a,要求菲波那契數列中第

1760:數列(2)

problem 得到 spa clas 第一個 out 。。 i++ 輸出 總時間限制: 1000ms 內存限制: 65536kB描述菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。給出一個正整數a,要求菲波那契數列中第a個數對

淺談斐數列——從到矩陣乘法

說在前面 相信大家都已經知道這個中外著名的費波納切數列了吧,關於費波那契數列有很多有趣的性質,但我們這裡不講,在這裡我們只是利用斐波那契數列來引出另一個神奇的東西,矩陣乘法,遞推在這裡是起一個對比與鋪墊的作用,(沒有對比就不知道矩陣乘法有多快)。 斐波那

數列陣列,普通迴,記憶化搜尋,矩陣快速冪,和公式法

直接數列遞推推的時候是O(n)的複雜度,查詢的時候是O(1),但是當n很大的時候,陣列空間可能有點力不從心 #include <iostream> #include <cstdio> using namespace std; int fb[4

歸--練習6--noi1755數列

ace ac代碼 std 題目 ++ pen names tdi problem 遞歸--練習6--noi1755菲波那契數列 一、心得 二、題目 1755:菲波那契數列 總時間限制: 1000ms 內存限制: 65536kB描述菲波那契數列是指這樣的數列: 數列的

python實現斐數列迴實現求第N個數列

斐波那契數列即著名的兔子數列:1、1、2、3、5、8、13、21、34、…… 數列特點:該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單: a=0 b=1 while b < 1000: print(b) a, b = b, a+b

python實現斐數列迴實現求第N個數列

斐波那契數列即著名的兔子數列:1、1、2、3、5、8、13、21、34、…… 數列特點:該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單: a=0 b=1 while b < 1000: print(b) a, b = b

迴】 之 數列

問題描述 菲波那契數列是指這樣的數列:數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。給出一個正整數a,要求菲波那契數列中第a個數是多少。 輸入資料 第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括一個正整數a(1 <= a <

數列歸和非歸解法

err nbsp div clas pan 斐波那契 ret ror ++ //遞歸解法 function fib(n){ if(n < 1){ throw new Error(‘invalid arguments‘); }

數列歸、非歸算法)

opened 下午 之前 imp spl alt string TE pan 題目 斐波那契數,亦稱之為斐波那契數列(意大利語: Successione di Fibonacci),又稱黃金分割數列、費波那西數列、費波拿契數、費氏數列,指的是這樣一個數列:1、1、2、3、5

數列迴與非迴)

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN = 1e2+10; ll a[MAXN]; ll F[MAXN]; ll f(ll n) ///遞迴 { if

Java實現斐數列迴、遍歷、矩陣)

什麼是斐波那契數列 其實很簡單,可以理解為: F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*) 比如這樣一個數列:1、1、2、3、5、8、13、21、34、…… 有興趣可以看百度百科 下面我們就來實現,給定一個n,求f(n)的值

數列迴還是迴圈好

/** * */ /** * @author jueying: * @version 建立時間:2018-11-15 下午10:21:26 * 類說明 */ /** * @author jueying * */ public class Test12

【劍指offer】斐數列迴求解第N項

public class Solution {    public int Fibonacci(int n) {       //錯誤輸入處理       if

【劍指offer】斐數列歸求解第N項

非遞歸 acc 斐波那契 錯誤 bsp fibonacci 更新 off for public class Solution { public int Fibonacci(int n) { //錯誤輸入處理 if(n<0) return

數列迴與迴圈實現及複雜度分析

一、斐波那契數列的定義: 二 、遞迴實現: 經典例題(杭電2041):  AC程式碼: #include <iostream> using namespace std; int f[41]; int main() { int num,m;