je pense, donc je suis
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
隨筆:34 文章:0 評論:32 引用:0
(a^b)%n迭代法實現
查了一下書,知道了這樣一個公式,這樣昨天二分法的疑問就可以解決了,也可以用迭代法實現了:看來吳文虎編寫的書還挺配套的.
也就是 a^b%n=((a^b-1)*a)%n====>(a*b)%n=((a%n)*b)%n===>a^b%n=(((a^(b/2))%n)*a^(b/2))%n
//
迭代法
int
modexp2(
int
a,
int
b,
int
n)
{
int
r;
r
=
a
%
n;
for
(
int
i
=
0
;i
<
b
-
1
;i
++
)
r
=
(r
*
a)
%
n;
return
r;
}
書中還說可以提高效率,研究后再說.
(a^b)%n=(a^(b/2)%n * a^(b/2)%n)%n
根據這個公式,討論奇數和偶數處理
int
modExp(
int
a,
int
b,
int
n)
{
int
d
=
1
,r
=
a;
while
(b)
{
if
(b
%
2
==
1
)
{d
=
d
*
r
%
n;}
r
=
r
*
r
%
n;
b
=
b
/
2
;
}
return
d;
}
發表于 2007-06-05 22:44
AIBPXTSHMF
閱讀(412)
評論(2)
編輯
收藏
引用
所屬分類:
Algorithm
評論
#
re: (a^b)%n迭代法實現
這個程序,一旦b是一個非常大的數,例如是100位的數的話,那這個程序運行的時間就太多了
要改進
int modexp2(int a,int b,int n)
{
int r,k=1,i;
r=a%n;
while(k!=b)
{
for(i=1;k+=i,i=i*2,k<b-1;)
r=(r*r)%n;
i=i/2;
}
return r;
}
這樣程序會快些
星夢情緣
評論于 2007-06-05 23:49
回復
更多評論
#
re: (a^b)%n迭代法實現
@ 星夢情緣呀!你和書上說的道理一樣!正在看呢!
AIBPXTSHMF
評論于 2007-06-06 07:28
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
CodeGuru代碼閱讀(一)
Euclid擴展算法
(a^b)%n迭代法實現
(a^b)%n---ACM例題的疑惑
Least Common Mutiple
Greatest Common Divisor
mergesort優化若干證明
MERGESORT
Divide and Conquer
INSERT-SORT
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2007年6月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
公告
失去的和得到的是相等的, 怎么做由你自己選擇。
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆分類
(34)
Algorithm(10)
(rss)
Assembly(1)
(rss)
C/CPlusPlus(11)
(rss)
English
(rss)
Mathematics
(rss)
Other(5)
(rss)
Philosophy(1)
(rss)
Scheme
(rss)
Thinking(3)
(rss)
WebDesign(3)
(rss)
隨筆檔案
(34)
2007年8月 (1)
2007年7月 (8)
2007年6月 (8)
2007年5月 (1)
2007年4月 (2)
2007年3月 (5)
2007年2月 (1)
2007年1月 (8)
相冊
Book
lifeBelong
techpic
Friends
Stone的博客
愛砂July
虎子的博客
周波的博客
My Blog
szhoftuncun@csdn.net
szhoftuncun@cublog.cn
szhoftuncun@weiqi.cn
NBlog
Boost文檔翻譯
C++羅浮宮
負暄瑣話
OpenSource
gforge
sourceforge
Philosophy
NewMind
PhilosophyEnclopedia
Philosophypages
ProblemSet
SaratovStateUniversity
SITES
Bjarne Stroustrup
Haskell
Lambda the ultimate
reddit
筆記流年AboutHaskell
純粹物件導向空間
數學知識
最新隨筆
1.?最近有點浮躁
2.?GUI何去何從之WxWigets入門
3.?GUI何去何從之SmartWin++入門
4.?人的差異源于思考方式
5.?CodeGuru代碼閱讀(一)
6.?匯編學習筆記(一)
7.?軟件實習作業(二)
8.?女人為什么活得比男人累?
9.?夢與醒
10.?Linux分區若干
搜索
積分與排名
積分 - 27266
排名 - 690
最新隨筆
1.?最近有點浮躁
2.?GUI何去何從之WxWigets入門
3.?GUI何去何從之SmartWin++入門
4.?人的差異源于思考方式
5.?CodeGuru代碼閱讀(一)
6.?匯編學習筆記(一)
7.?軟件實習作業(二)
8.?女人為什么活得比男人累?
9.?夢與醒
10.?Linux分區若干
最新評論
1.?re: Euclid擴展算法
評論內容較長,點擊標題查看
--long
2.?re: GUI何去何從之WxWigets入門
評論內容較長,點擊標題查看
--Daniel King
3.?re: 最近有點浮躁
韜光養晦呀,呵呵
--秦歌
4.?re: 整型數組長度問題
今天我也遇到了同樣的問題,也上網查了些資料。..
當然,得到的,很多都是錯誤的,后來無奈,跟你用了一樣的方法...
不知道有誰能有更簡便的方法求出整型數組的長度..
--linymxp
5.?re: Euclid擴展算法
你改成cout<<x<<'\t'<<y<<'\t'<<extEuclid(a,b,x,y)<<endl;就行了。
--123
閱讀排行榜
1.?xml解析出現符號錯誤?(3920)
2.? 整型數組長度問題(3079)
3.?GUI何去何從之SmartWin++入門(2684)
4.?GUI何去何從之WxWigets入門 (1814)
5.?回車與換行的區別(1259)
評論排行榜
1.?最近有點浮躁(5)
2.?(a^b)%n---ACM例題的疑惑(5)
3.? 整型數組長度問題(4)
4.?Linux分區若干(3)
5.?人的差異源于思考方式(3)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 AIBPXTSHMF
99久久免费国产精品特黄
|
久久精品国产69国产精品亚洲
|
久久综合视频网站
|
中文字幕亚洲综合久久菠萝蜜
|
色妞色综合久久夜夜
|
婷婷综合久久狠狠色99h
|
一本久久免费视频
|
精品久久久久久无码专区
|
久久久99精品成人片中文字幕
|
久久只有这精品99
|
香蕉久久夜色精品国产小说
|
国内高清久久久久久
|
久久中文字幕一区二区
|
久久精品国产亚洲AV香蕉
|
国内精品久久久久
|
日日噜噜夜夜狠狠久久丁香五月
|
久久精品国产一区二区
|
久久99国产精品99久久
|
日本五月天婷久久网站
|
久久精品18
|
国产亚洲精久久久久久无码AV
|
久久精品亚洲日本波多野结衣
|
久久夜色精品国产噜噜亚洲a
|
国产亚洲色婷婷久久99精品91
|
欧洲成人午夜精品无码区久久
|
色综合久久天天综线观看
|
99热热久久这里只有精品68
|
东京热TOKYO综合久久精品
|
久久国产精品-国产精品
|
久久99热这里只有精品国产
|
中文国产成人精品久久亚洲精品AⅤ无码精品
|
久久国产亚洲高清观看
|
亚洲精品无码成人片久久
|
中文字幕乱码久久午夜
|
一本久道久久综合狠狠爱
|
欧美精品国产综合久久
|
亚洲精品午夜国产va久久
|
伊人久久大香线蕉综合网站
|
综合久久给合久久狠狠狠97色
|
99久久国产亚洲综合精品
|
一级做a爰片久久毛片看看
|