[英]Large Integer Division - Knuth's Algorithm D
我必須使用大整數除法,使用Knuth的算法D(編程第2卷的74839234
),將任何數字(無論大小)除以另一個數字,例如74839234
除以72548
。
我做了兩個數組來代表這些數字
n[] = {7,4,8,3,9,2,3,4}
d[] = {7,2,5,4,8}
我試圖得到這樣的輸出:
q[] = {1,0,3,1}
r[] = {4,2,2,4,6}
我真的不知道從哪里開始。 任何幫助或指導將不勝感激!
在D1,您有d=1
,所以設置
n[]={0,7,4,8,3,9,2,3,4}
n = 5
, m = 3
。
此外,在步驟D4中存在形式錯誤:(第二行)應為...
minus q(hat) times (v1, v2, ..., vn)b TIMES b ** (m - j)
。
在這里,**表示“力量”(Fortran風格,易於編寫)。 當然,這里b = 10
,所以
times b ** (m - j)
將減法向左移動到適當的減法位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.