入門訓練 Fibonacci數列(藍橋杯試題集)

2021-10-01 03:14:25 字數 1896 閱讀 9441

問題描述

fibonacci數列的遞推公式為:fn=fn-1+fn-2,其中f1=f2=1。

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

輸入格式

輸入包含乙個整數n。

輸出格式

輸出一行,包含乙個整數,表示fn除以10007的餘數。

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

樣例輸入

10樣例輸出

55樣例輸入

22樣例輸出

7704

資料規模與約定

1 <= n <= 1,000,000。

**:

#include

#include

#include

#define n 1000009

long

long

int a[n]

;using

namespace std;

intmain()

while

(cin>>n&&n!=0)

}

#include

#include

#include

#define n 1000009

int a[n]

;using

namespace std;

intmain()

while

(cin>>n&&n!=0)

}

收穫感悟:#define定義多大的數都可以,

能支援十進位制下大約10位數-21474836482147483647[-2^312^31-1]

longlong能支援十進位制下大約19位數 你要的數是可以存下的

long long 為64位整數型別,一般的long long為64位,由於負數補碼的原因,第一位作為符號位,因此有63位可用。則取值範圍為-263到263-1 取210約等於1000多一點,則大概為9x1018這麼多,9後面18個0,建議大大於這個數就考慮高精度相關 具體值為9223372036854775807

或者考慮無符號的unsigned long long 不能表示負數但是可以到2^64-1 具體取值到18446744073709551615 18後面18個0,1.8410^19

你的數是7後面18個0,正好可以long long 存下,但是再加兩下基本就爆負了,基本沒有可運算性,作累加統計還行,但要參加大數運算還是高精度或者兩個高低位longlong開個結構體搞下吧。建議高精度背下來。

參考資料:

c++有如下基本資料型別

bool 布林型 - true,false

(signed) char 有符號字元型 1 -128~127

unsiged char 無符號字元型 1 0~255

(signed)short(int) 有符號短整型 2 -32768~32767

unsignedshort(int) 無符號短整型 2 0~65535

(signed) int 有符號整型 4 -(2的31次方)~2的31次方-1

unsigned (int) 無符號整型 4 0~(2的32次方-1)

(signed)long (int) 有符號長整型 4 -(2的31次方)~(2的31次方-1)

unsigned long(int) 無符號長整型 4 0~(2的32次方-1)

float 實型 4 -(10的38次方)~10的38次方

double 雙精度型 8 -(10的308次方)~10的308次方

long double 長雙精度型 8 -(10的308次方)~10的308次方

void 無值型 0 無值

入門訓練 Fibonacci數列

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...

入門訓練 Fibonacci數列

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci 數列的遞推公式為 fn f n 1 f n 2,其中f1 f 2 1。當n比較大時,fn 也非常大,現在我們想知道,f n除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式...

入門訓練 Fibonacci數列

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...