今天學習了乙個快速指數冪取餘的演算法。
就拿一道題來說明:
description
上初中的時候我們就學會了冪乘運算,可是我們卻不知道對於高階的冪乘,出結果的方法比較慢,那麼你有什麼更好的方法嗎?
input
第1行,乙個整數n(1<=n<=1000),表示要計算的資料組數
第2-n+1行,每行兩個整數,第1個是x(1<=x<=100),表示底數,第2個是y(0<=y<=10000000),表示指數。
output
對於每一組輸入的資料給出冪乘的結果x^y(x的y次方),由於結果可能非常大,要求對99991取餘。
sample input
original
transformed
32 3
5 10
3 0sample output
original
transformed
866498
1這個可以寫乙個函式單獨來實現,定義這個函式為power(),然後我在網上看的別人用遞迴寫了出來,就模仿著寫了乙個
int power (int x, int y, int mod)
if(1 == y)
power(x,y>>1, mod);
ans= ( (ans%mod) * (ans&mod) ) % mod;
if(y & 1) //要是奇數的話 ans需要多乘乙個x
returnans;
}
集訓ing 第五天
昨天太累了,回武漢後感覺不舒服,第二天就感冒了,然後天天呆在機房寫文件,搞需求分析,沒有好好休息。終於一直打噴嚏,咳嗽。昨天晚上下班後,就和朱一起去藥房買了感冒藥。回宿舍吃過藥,洗完澡就睡覺了,多日以來最早的一次。今天起來感覺就好多了,不知道是不是藥的原因。不管怎麼樣,感覺好點就是好事。從昨天開始一...
杭州集訓第五天
今天是我在杭州集訓 挨虐 的第五天,題目一如既往的easy,我一如既往的cai 所以,我還是沒有做出題目 話不多說,上題目 有乙個n n 的王國城堡地圖上,皇后 喜歡看騎士之間的戰鬥,於是他準備布置 m個騎士 其中 每乙個騎士都可以向 個方向,上 下 左 右 左上 左下 右上 右下移動若干距離。且每...
國慶第五天
直接在寢室待了乙個上午 一 matlab 試了一下昨天安裝的matlab2010b發現檔案都打不開,報這個錯 undefined function or method uiopen for input arguments of type char 二 c 1.找到了個之前 裡的乙個問題 把本週開頭和...