1. 程式人生 > >藍橋杯 入門訓練 Fibonacci數列(c語言)

藍橋杯 入門訓練 Fibonacci數列(c語言)

問題描述

Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。

當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。

輸出格式 輸出一行,包含一個整數,表示Fn除以10007的餘數。

說明:在本題中,答案是要求Fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出Fn的準確值,再將計算的結果除以10007取餘數,直接計算餘數往往比先算出原數再取餘簡單。

樣例輸入 10 樣例輸出 55 樣例輸入 22 樣例輸出 7704 資料規模與約定 1 <= n <= 1,000,000。

#include <stdio.h>

#include <string.h>


long long fibonacci(long long n,long long a[])
{
    a[0]=1;
    a[1]=1;

    a[2]=1;

    for(long long j=3;j<=n;j++)
    {
        a[j]=(a[j-1]+a[j-2])%10007;//邊加邊取餘

    }

    return a[n];

}

int main()

{

    long long n;

    scanf("%lld",&n);

    long long a[n];

    memset(a,0,sizeof(a));

    printf("%lld\n",fibonacci(n,a));

    return 0;

}

相關推薦

藍橋 入門訓練 Fibonacci數列c語言

問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸出格式 輸出一行,包含一個整數,表示Fn除以10007的餘數。 說明:在本題中,

藍橋 入門訓練 Fibonacci數列 對10007取餘

 1.迴圈注意要從i=3開始 2.for()迴圈是判斷條件成立,就進入迴圈,然後再自加。所以3-n,是for(int i=3;i<=n;i++) 3.對10007取餘數,直接存入陣列就可以。因

演算法-藍橋-入門訓練 Fibonacci數列 JAVA

1 引言    斐波那契數列一直以來都是一個經典的問題,可惜的是以前“只聞其聲不見其人”,沒有好好地研究這個問題,這次恰好在藍橋杯的入門訓練中遇到,實乃萬幸。2 題目問題描述Fibonacci數列的遞推

藍橋入門訓練 Fibonacci數列

問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格式 輸出一行,包含一個整數,表示Fn除以10007的餘數。 說

藍橋 入門訓練Fibonacci數列

藍橋杯 入門訓練Fibonacci數列 問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格式 輸出一行,包含一個整數,表

藍橋入門訓練------Fibonacci數列

問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格式 輸出一行,包含一個整數,表示Fn除以10007的餘數。

藍橋入門訓練 Fibonacci數列AND圓的面積AND序列求和AND A+B

問題描述1: Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格式 輸出一行,包含一個整數,表示Fn除以10007的餘數。 說明:

藍橋 入門訓練 Fibonacci數列

問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格式 輸出一行,包

藍橋——入門訓練 Fibonacci數列

問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格式 輸出一行,包含一個整數,表示Fn除以10007的餘

歷屆藍橋試題- 迴文數字C語言

問題描述   觀察數字:12321,123321 都有一個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做:迴文數字。 本題要求你找到一些5位或6位的十進位制數字。滿足如下要求:   該數字的各個數位之和等於輸入的整數。 輸入格式   一個正整數 n (10<n

入門訓練 Fibonacci數列 陣列越界問題

我的想法:建立一個數組直接表示Fn除以10007的餘數,所以a[1]=1; a[2]=1; a[n]就是所求餘數。 我的程式碼: import java.util.Scanner; public class Main { public static void ma

藍橋 基礎訓練 完美的代價-----------------------------C語言——菜鳥級

/*問題描述   迴文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。 小龍龍認為迴文串才是完美的。現在給你一個串,它不一定是迴文的, 請你計算最少的交換次數使得該串變成一個完美的迴文串。

藍橋-演算法訓練-矩陣相乘java版

問題描述   輸入兩個矩陣,分別是m*s,s*n大小。輸出兩個矩陣相乘的結果。 輸入格式   第一行,空格隔開的三個正整數m,s,n(均不超過200)。   接下來m行,每行s個空格隔開的整數,表示矩陣A(i,j)。   接下來s行,每行n個空格隔開的整數,表示矩陣B(i,j)。 輸出格式   m行,每行n個

藍橋-入門訓練Fibonacci數列

java next fibonacci print text 輸出 ati for ade   問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的余數是多少。

藍橋入門訓練 Fibonacci數列

題目描述 http://lx.lanqiao.cn/problem.page?gpid=T4   入門訓練 Fibonacci數列   時間限制:1.0s   記憶體限制:256.0MB      &

藍橋 Java 入門訓練 Fibonacci數列

問題描述:    Fibonacci數列遞推公式為:Fn=Fn-1+Fn-2 其中F1=F2=1               當n比較大時,Fn也比較大,求Fn除以1007的餘數。 輸入格式:

藍橋入門訓練 Fibonacci數列

題目:入門訓練 Fibonacci數列 問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入包含一個整數n。 輸出格

藍橋練習 入門訓練 Fibonacci數列

問題描述Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。輸入格式輸入包含一個整數n。輸出格式輸出一行,包含一個整數,表示Fn除以10007的餘數。說明:在本題中,答案是要求Fn除以10007的餘數,因

藍橋入門訓練C語言

說明:“樣例輸出”給出了一組滿足“輸出格式”要求的輸出的例子。 樣例輸出中的結果是和樣例輸入中的是對應的,因此,你可以使用樣例的輸入輸出簡單的檢查你的程式。 要特別指出的是,能夠通過樣例輸入輸出的程式並不一定是正確的程式,在測試的時候,會用很多組資料進行測試,而不侷限於樣例資料。有可能一個程式通過了樣

入門訓練 Fibonacci數列

namespace pre acc clu style nac iostream fib cout 每計算一個Fi,都對其取余,防止最後其超出int的範圍 #include<iostream> using namespace std; int main() {