1. 程式人生 > 其它 >牛客#廣義肥波# 數論,尤拉降冪

牛客#廣義肥波# 數論,尤拉降冪

技術標籤:數論

題目連結:https://ac.nowcoder.com/acm/contest/10507/A

題意:給定a,b,m,n求m^f[n].其中f[1]=f[2]=1,f[n]=a*f[n-1]+b*f[n-2](n>=3)。

題解:

【小知識】尤拉降冪:求解a^k%mod

1.當k很大的時候,我們可以使用尤拉降冪快速求解以上式子。

2.公式:

其中fai(c)表示c的尤拉函式

3.尤拉函式:fai(c)即表示小於等於c的與c互質的數的個數。

4.尤拉函式的一些性質

·如果c為質數,那麼fai(c)=c-1(即除c之外,全都互質)。

·為積性函式,即gcd(a,b)=1,則fai(a)*fai(b)=fai(a*b)。fai(2*b)=fai(2)*fai(b)

·另外還有挺多性質

程式碼:

    	read(a),read(b),read(m),read(n);
    	x[1]=x[2]=1;
    	rep(i,3,n) x[i]=(a*x[i-1]+b*x[i-2])%(mod-1);
//    	dbgg(1,n,x);
		ll ans=qpow(m,x[n],mod);
    	cout<<ans<<endl;