大數相乘演算法

2021-05-21 15:15:06 字數 551 閱讀 1975

啥也說,直接給**

//高精度的乘法,乘數的位數沒有限制,小數點後面的位數也沒有限制

//輸入引數:乘數 str1,str2

//輸出引數:str = str1*str2

//返回值型別:string&

string& large_mult(string str1,string str2,string& str/*輸出引數*/)

assert(str.length() > offset);

index = str.length() - offset;

add(str,index,single); //個位數相加

add(str,index-1,tens); //十位數相加

} }if(str[0] == '0')

if(offset < str.length())

return str;

}//在大數str的index位處加於num 即 str+= num

inline bool add(string& str, int index, int num)

測試**

A B problem(大數相乘演算法)

include include int main 定義乙個整型陣列c scanf s s a,b 獲取字串a,b num2 strlen a num2為陣列a的長度 num3 strlen b num3為陣列c的長度 getchar if strcmp a,0 0 strcmp b,0 0 當字串a...

大數相乘 大數相加

大數相乘 大數相乘 1 include includeint main int ans i while lb 0 int cnt j for i 0 i 0 i if e i break 去除前面多餘的0 if i 1 else 當結果是0的時候 printf 0 printf n return 0...

大數相乘的演算法實現(C )

在網上看到乙個面試題,要求計算 100的階乘,即 100 不能使用浮點數。我們知道,這種運算在數學中是很容易使用公式來描述,但是在計算機中,由於資料型別 記憶體容量的限制,無法使用整型數 即使是 64位整數 計算這麼大的結果,只能使用其他方法計算。using system using system....