大斐波那契數(大數加法的思想 預處理提前實現)

2021-08-21 22:07:41 字數 628 閱讀 7118

解題思路:斐波那契,我們很熟悉的問題,但是這道題和平常不一樣,這道題的資料非常大,用我們一般用的遞迴或者遞推的方法不僅時間複雜度低效,精度也根本達不到那個資料要求的深度。

本題中要求求到1000個斐波那契數,要知道第1000個斐波那契數的位數是非常非常多的,普通的資料型別是不可能做到的,所以就要用到大數加法的思想。

**如下:

#include#includeint a[1001][501];

void fun()

}}int main()

for( j=i; j>=0; j--)

printf("%d",a[b][j]);

printf("\n");

}return 0;

}

**用到了二維陣列:第乙個表示有多少個數;第二個表示乙個數有多少位;

比如:a[1001][501]表示有1001個數,每個數最多有501位;

本題自己只想了個大概,具體**沒有實現(本人還是小白一枚)是借鑑的別人的**,加油!!

斐波那契數的博弈

原題 兩個玩家,一堆石頭,假設多於100塊,兩人依次拿,最後拿光者贏,規則是 1.第乙個人不能一次拿光所有的 2.第一次拿了之後,每人每次最多只能拿對方前一次拿的數目的兩倍。求先拿者必勝策略,如果有的話。怎麼證明必勝。分析這是斐波那契博弈,當且僅當石頭個數是斐波那契數的時候先手必敗。讓我們用第二數學...

迴圈 小蜜蜂 斐波那契數列 大數加法

題 乙隻小蜜蜂在如下圖所示的蜂窩上爬行。它爬行時,只能從乙個格爬到相鄰的大號格仔中。例如,從 1 號格仔可以爬到 2 號或者 3 號格仔,從 2 號則可以爬到 3 號或者 4 號格仔。請問從乙個格仔 a 爬到乙個格仔 b 一共有多少種可行的路線。分別是起始點 a 和終止點 b 的編號。a 和 b 在...

斐波那契數的實現(Java)

首先我們要知道斐波那契說的表示式即 fib i 1 i 1或i 2 fib i fib i 1 fib i 2 i 2 所以它的遞迴 是 遞迴方式實現斐波那契數 public static long rec fib long i return result 但是遞迴演算法會增加整個過程的複雜度,例如...