JZOJ B組 斐波那契

2021-08-30 04:32:32 字數 663 閱讀 6657

小明有乙個數列。
a[0] = a[1] = 1。

a[i] = i * a[i - 1] * a[i - 2](i≥2)。

小明想知道a[n]的因子個數。

輸入僅乙個正整數n。

輸出a[n]的因子個數mod 1,000,000,007的值。

【資料範圍】

對於30%的資料滿足0≤n≤1,000。

對於100%的資料滿足0≤n≤1,000,000。

標題給了很大的提示

可以發現,a[n]=2f[n] * 3f[n-1] * 4f[n-2]…

所以,把1–n分解質因數,再統計次數即可

#include#include#includeusing namespace std;

const int mod=1e9+7,maxn=1e6+77;

int n,f[maxn],a[maxn];

bool b[maxn];

long long ans=1;

int main()

j+=i;

} }for(int i=2; i<=n; i++) ans=(1ll*ans*(a[i]+1))%mod;

printf("%lld",ans);

}

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...

斐波那契堆

以下是實現的程式 肯定可以再優化的。include include include include using namespace std class node delete m child m child null class fibonacciheap node insert int key v...