快速冪取模算法

算法簡(jiǎn)介

快速冪取模算法是在o( logn )的時(shí)間內(nèi)求得 a ^ b % n的值

先證明結(jié)論:
a*b % c = ( ( a % c ) * ( b % c ) ) % c

證明:
a % c = d ----> a = d + c * x;
b % c = e ----> b = e + c * y;
a * b % c = ( de + cex + cdy + xy*c ^ 2 ) %c = ( de ) %c
即證

a ^ b % n = ( a % n ) ^ b % n;

算法核心

遞歸:
b & 1 == 1時(shí) a ^ b = ( a ^ ( b / 2 ) ) ^ 2 * a;
b & 1 == 0時(shí) a ^ b = ( a ^ ( b / 2 ) ) ^ 2;

int pow_mod( int a, int b, int n )
{
    int t = 1;
    if( b == 0 ) return 1;
    if( b == 1 ) return a % n ;
    t = pow_mod( a, b >> 1, n );
    t = t * t % n;
    if( b & 1 ) t = t * a % n;
    return t;
}

非遞歸:
b = p(n)2^n + p(n-1)2^(n-1) +...+ p(1)*2 + p(0)

int pow_mod( int a, int b, int n )
{
   int t = 1, tmp = a % n;
   while( b )
   {
       if( b & 1 ) t = t * tmp % n;
       tmp = tmp * tmp % n;
       b >> = 1;
   }
   return t;
}
byene.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末览徒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖周拐,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件与纽,死亡現(xiàn)場(chǎng)離奇詭異赦颇,居然都是意外死亡嗜桌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門好港,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)愉镰,“玉大人,你說(shuō)我怎么就攤上這事钧汹≌商剑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵拔莱,是天一觀的道長(zhǎng)碗降。 經(jīng)常有香客問(wèn)我隘竭,道長(zhǎng),這世上最難降的妖魔是什么遗锣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮嗤形,結(jié)果婚禮上精偿,老公的妹妹穿的比我還像新娘。我一直安慰自己赋兵,他們只是感情好笔咽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著霹期,像睡著了一般叶组。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上历造,一...
    開(kāi)封第一講書(shū)人閱讀 51,258評(píng)論 1 300
  • 那天甩十,我揣著相機(jī)與錄音,去河邊找鬼吭产。 笑死侣监,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的臣淤。 我是一名探鬼主播橄霉,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼邑蒋!你這毒婦竟也來(lái)了姓蜂?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤医吊,失蹤者是張志新(化名)和其女友劉穎钱慢,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體卿堂,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滩字,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了御吞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麦箍。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖陶珠,靈堂內(nèi)的尸體忽然破棺而出挟裂,到底是詐尸還是另有隱情,我是刑警寧澤揍诽,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布诀蓉,位于F島的核電站栗竖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏渠啤。R本人自食惡果不足惜狐肢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沥曹。 院中可真熱鬧份名,春花似錦、人聲如沸妓美。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)壶栋。三九已至辰如,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贵试,已是汗流浹背琉兜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毙玻,地道東北人呕童。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像淆珊,于是被迫代替她去往敵國(guó)和親夺饲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)施符。 張土汪:刷leetcod...
    土汪閱讀 12,744評(píng)論 0 33
  • 歸去來(lái)兮往声。 1.1 說(shuō)明 本篇為《挑戰(zhàn)程序設(shè)計(jì)競(jìng)賽(第2版)》[http://www.ituring.com.cn...
    尤汐Yogy閱讀 14,332評(píng)論 0 160
  • 在我學(xué)習(xí)家庭系統(tǒng)排列的過(guò)程當(dāng)中,我覺(jué)得非常適合我們現(xiàn)代人戳吝,我們?cè)S多原生家庭都有問(wèn)題浩销,特別在中國(guó),曾經(jīng)飽受戰(zhàn)亂听哭,然后...
    小淑愛(ài)酷仔閱讀 428評(píng)論 1 3
  • 15條野餐守則--出自于東京野餐俱樂(lè)部TOKYO PICNIC CLUB
    霹靂酷錘錘閱讀 1,967評(píng)論 0 2