計算理論與演算法分析設計 1 A B問題

2021-10-07 18:25:25 字數 1123 閱讀 7334

計算最多20010位十進位制正整數a和b的乘積a*b。

1259

8由於本題要計算最多20010位十進位制正整數a和b的乘積a*b,使用常規的計算方法顯然不可取。正確的解法是使用高精度計算。由於小學期的時候寫過一道題是「calc++」,那道題涉及到高精度加法、減法、乘法,所以偷了個懶,直接把那個程式的乘法部分擷取出來,壓位都懶得改了,改了改輸入輸出就直接交了。

有關高精度加法減法乘法的思路(即calc++那道題怎麼破),之後會寫一篇部落格來**。還有這個壓位貌似寫得有點蠢……

#include

#include

#include

char a[

100005

],b[

100005];

long

long a1[

100005

],b1[

100005

],c1[

200005];

intmain()

for(

long

long i=

0;i)long

long k=0;

for(

long

long i=

0;i2;i++

)//高精度乘法運算部分,c1存的是運算結果

}for

(long

long i=

0;i6+lb/6+

4;i++

) k=-1

;for

(long

long i=la/

6+lb/6+

4;i>=

0;i--

)//去除結果中的前導0}if

(k!=-1

) printf (

"%lld"

,c1[k]);

for(

long

long i=k-

1;i>=

0;i--)if

(k==-1

) printf (

"0\n");

//討論結果是不是0,有個小坑

else printf (

"\n");

return0;

}

演算法設計與分析 1

實驗題目 生成兩個隨機的圖,乙個有向圖乙個無向圖。有向圖兩千條邊左右,無向圖一千條邊左右,邊的數量是大概的。100個頂點。要求能算出每個頂點的度。要求每次圖是隨機生成的,並且有良好的結構。今後的實驗都基於這個圖結構。任意語言和環境。建議鍊錶描述。然後基於這個圖實現乙個廣度優先搜尋。參考文獻 c 中的...

演算法設計與分析作業(1)

1.dijkstra求單源最短路徑 先進行存圖操作,將帶權有向圖用鄰接矩陣來表示 for int i 0 i u v dist map u v dist 用dis陣列來儲存0點到其他每乙個點的最短距離,初始時dis i map 0 i 接下來進行鬆弛操作,找出最短距離 首先0點為q集合中的點,0 1...

演算法設計與分析 實驗1

一 實驗目的和要求 理解分治法的演算法思想,閱讀實現書上已有的部分程式 並完善程式,加深對分治法的演算法原理及實現過程的理解。二 實驗環境 實驗裝置 code blocks13.12 三 實驗原理及內容 一 用分治法實現一組無序序列的兩路合併排序和快速排序。要求清楚合併排序及快速排 序的基本原理,程...