多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > hdu2035 人見人愛A^B(快速冪取模)

hdu2035 人見人愛A^B(快速冪取模)

來源:程序員人生   發(fā)布時(shí)間:2015-08-04 07:48:07 閱讀次數(shù):3620次

題目鏈接:hdu 2035 人見人愛A^B

      很早的時(shí)候做的1道題了,今天想一想把他翻了出來,寫篇文章來為不知道快速冪的同學(xué)做1個(gè)科普(請?jiān)试S我吹1下牛逼大笑)。快速冪可以高效的計(jì)算冪運(yùn)算。如果我們使用循環(huán)來計(jì)算的話,那末時(shí)間復(fù)雜度就是 O(n) ,使用快速冪的話就只用 O(log n)。不要小視這么1點(diǎn)點(diǎn),如果1個(gè)問題需要屢次 的 冪運(yùn)算的話,可能就會(huì)由于這1點(diǎn)小小的變化而超時(shí)。

快速冪介紹:

       我們1直說快速冪快,那他究竟是在哪里快呢? 如果我們求解 2^k。可以將其表示為

             x^n =( (x2)2....)

      只要做k次平方運(yùn)算就能夠了,由此我們可以想到,先將n表示為2的冪方次之和

             n = 2^k1 + 2^k2 + 2^k3.......

      就有

           x^n = x^(2^k1) x^(2^k2) x^(2^k3).......

     So.快速冪就是這么快。不太明白的可以用筆和紙手動(dòng)的摹擬1下。 

例如: x^22 = x^16?x^4?x^2

快速冪的模板:

typedef long long ll; //注意這里不1定都是long long 有時(shí) int 也行 ll mod_pow(ll x, ll n, ll mod){ ll res = 1; while( n > 0 ){ if( n & 1 ) res = res * x % mod; //n&1其實(shí)在這里和 n%2表達(dá)的是1個(gè)意思 x = x * x % mod; n >>= 1; //n >>= 1這個(gè)和 n/=2表達(dá)的是1個(gè)意思 } return res; }

沒看位運(yùn)算的童鞋,好好回去看看,好多地方都是用這東西

遞歸版的:

typedef long long ll; ll mod_pow(ll x, ll n, ll mod){ if( n == 0 ) return 1; ll res = mod_pow( x * x % mod, n / 2, mod ); if( n & 1 ) res = res * x % mod; return res; }


下面附上本題的代碼:

#include<stdio.h> int mod_pow(int x, int n,int mod){ //快速冪 int res = 1; while( n > 0 ){ if( n & 1 ) res = res * x % mod; x = x * x % mod; n >>= 1; } return res; } int main(){ int m,n; while(scanf("%d%d",&m,&n),n||m) printf("%d ",mod_pow(m,n,1000)); return 0; }

(如有毛病,歡迎指正,轉(zhuǎn)載請注明出處)


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美激情视频二区 | 日本高清www午夜视频 | 婷婷去我也去 | 2020国产v亚洲v天堂高清 | 国产欧美精品区一区二区三区 | 中文字幕免费播放 | 欧美一区二区三区国产精品 | 中文字幕第六页 | 亚洲精品视频在线播放 | 国产乱辈通伦影片在线播放 | 成人看片又黄又爽 | 中文字幕无线码一区二区三区 | 亚洲伊人成人网 | 午夜视频www | 2020国产精品自拍 | 欧美激情亚洲激情 | 中文字幕第99页 | 日韩一级欧美一级毛片在 | 尤物精品视频 | 天堂在线最新版在线www | 久久一区二区三区四区 | jizzjizz免费| 性videos另类hdwww| 久久久一区二区三区不卡 | 呦女亚洲一区精品 | www.操操| 午夜久久久久久 | 成年人免费看的视频 | 一区二区三区免费看 | 三浦惠理子中文字幕在线一区二区 | h 在线播放 | 亚洲人成亚洲人成在线观看 | 欧美一区二区三区精品国产 | 欧美free性 | 91人人干| 三级在线视频 | 久久精品国产一区二区三区 | 午夜三级理论在线观看视频 | 欧美日韩亚洲一区二区三区 | 不卡午夜视频 | 亚洲a视频在线 |