1. 程式人生 > 其它 >一千位斐波那契數

一千位斐波那契數

技術標籤:演算法

在斐波那契數鍾,第一個有1000位的數字是第幾項

也就是說第一個陣列代表 2 第二個代表1 2 3 ,交換 ,3 2,在進行加 3 5,在交換

#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int func(int *n1,int *n2){
    n2[0]=n1[0];
    for(int i=1;i<=n2[0];i++){
        n2[i]+=n1[i];
        if(n2[i]>9){
            n2[
i+1] +=n2[i]/10; n2[i]%=10; if(i==n2[0]){ n2[0]++; } } } return n2[0]>=1000; } int main(){ int num[2][1100]={{1,1},{1,1}}; int a=0,b=1; for(int i=3;1;i++){ if(func(num[a],num[b])==1){ cout<<i<<endl;
break; } swap(a,b); } return 0; }

結果是
在這裡插入圖片描述