C語言程式設計,求用分治法實現大整數乘法

時間 2021-10-30 06:19:43

1樓:憶蕭

這個東西我給你提個思路吧

1,使用化解法 利用數學函式將 比較大的數化解為比較小的數

2,使用字串來模擬大樹的加減乘除運算

2樓:

1,先把你的數字轉換成字串,然後用如下方法// 字串整數r = 字串整數a * 字串整數bchar* s_mul_sss(char *a,char* b, char* r)

3樓:匿名使用者

很大的數,只能用字串,要不然溢位

這個問題有兩個方式解決,一個就是乘法的定義,是乘數的累加那麼做法就是乘數多次累加,而被乘數每次減去1,直到被乘數為零跳出迴圈那麼這裡就需要兩個子函式,一個是大數的加法,一個是大數的減去1的演算法另一個方式,還記得當年小學學過的乘法的豎式嗎?

如12 -----(1)

x 12 ------(2)

----------

24 ----(3)

12 ------(4)---------

144 --------(5)這樣就轉行為計算(3)(4)等要是多位數,那麼(3)(4)會很多,計算這些的和就是了

最終的到的(5)就是結果

那麼這個問題也是兩個子函式,一個是大數的加法,就是計算(3)(4)等的和

一個是(1)和(2)的每位數的乘法

用c語言程式設計,題目是 設計程式,實現

include double fact int n int main void printf n1 到 d 的和為 d n n,sum return 0 double fact int n return product hhp和尚 include void main printf result is...

c 語言程式設計 輸入整數,要求按照由小到大的順序輸出

潮範君 include 標頭檔案 using namespace std void swap int p1,int p2 用於交換2個變數的功能函式 int main int n1,n2,n3 int p1,p2,p3 cout 請依次輸入3個整數 cin n1 n2 n3 p1 n1 p2 n2 ...

C語言程式設計,編寫程式,求10 用C語言

第0題 include define maxlen 70 main int i,temp,flag 0 printf 請輸入第一個字串 n scanf s s1 printf 請輸入第二個字串 n scanf s s2 i strlen s1 temp strlen s2 if i main x i...