題目大意:
求f(f(n))
0<=n
<=10e100
答案對1e9+7取模
這就是t了
那麼我們對於第一層的f(n)算出來的值,可以%t去求答案
同樣的,我們對於第一層的f(n)也可以求乙個週期
為 t2=329616。
那麼思路就有了
我們對n%t2,值為k
算f(k),值為w
對w%t
輸出f(w%t)即可
ps:由於n過大,我們使用字串讀入(就行快速讀入一樣),邊乘10邊%t2即可
(別忘了矩陣快速冪喲!)
ull mod=329616;
scanf("%s",ss);
for(int i=0;i*10
*1ll
%mod+ss[i]-'0')%mod;
#include
#include
#include
#define ull unsigned long long
using
namespace
std;
char ss[9999];
ull ans[2][3];
ull x[3][3];
ull dx[3][3];
ull p;
void cf1()
return;
}void cf2()
}ull fast_pow(ull n)
return ans[1][1];
}void work()
int main()
na 斐波那契數列f f n
題目描述 給出t個n,求斐波那契數列的f f n 答案取模1e9 7 資料範圍 100 1 n 10100 資料好大,那麼這題一定有規律。首先先要了解乙個關於斐波切數列的性質,即斐波那契數列 取模 的週期性。解釋一下 就是斐波那契數列對於mod取模後構成的數列,具有週期性。對於這道題,我們就可以利用...
na 斐波那契數列f f n
題目描述 給出t個n,求斐波那契數列的f f n 答案取模1e9 7 資料範圍 100 1 n 10100 資料好大,那麼這題一定有規律。首先先要了解乙個關於斐波切數列的性質,即斐波那契數列 取模 的週期性。解釋一下 就是斐波那契數列對於mod取模後構成的數列,具有週期性。對於這道題,我們就可以利用...
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...