高精度乘法

2021-08-09 05:44:00 字數 915 閱讀 8151

#include#include#include#includeusing namespace std;

const int maxn = 5000;

inline int get()

struct data

data operator * (const data &b)

} for(int i = 1; i <= c.len; i++)

} while(c.a[c.len] == 0 && c.len > 1) c.len--;

return c;//容易漏

}}a,b;

char s1[maxn],s2[maxn];

int i1,i2;

inline bool pd1()

inline bool pd2()

int main()//答案為 0 時 不應有"-"

if(!pd1() && pd2())

if(pd1() && !pd2())

if(!pd1() && !pd2())

for(int i = a.len - 1; i >= i1; i--)

a.len = a.len - i1;

for(int i = b.len - 1; i >= i2; i--)

b.len = b.len - i2;

a = a * b;

for(int i = a.len; i >= 1; i--)

return 0;

}

補充:高精度除法中高精除高精通常採用減法模擬除法,對每一位被除數都減去除數,一直減到當前位置的數字(包含前面的餘數)小於除數(由於每一位都小於10,所以最多進行10次計算),高精除低精可以直接除。

高精度減法,高精度乘法

高精度減法 oj資料偏弱如果新增乙個101 2就錯了,下面這一步是為了防止錯誤的 if a aa 0 可能出現第一位的1被借走的的情況,所以加乙個while找第乙個不是0的 while c i 0 i include include include include include include u...

高精度乘法

問題描述 給你兩個正整數a,b,計算它們的乘積。輸入格式 第一行乙個正整數a 第二行乙個正整數b 輸出格式 一行,表示a b 樣例輸入 111222333444555666777888999 999888777666555444333222111 樣例輸出 提示 a,b分別不超過100000位 ff...

高精度乘法

高精度乘法1 樸素運算 傳入引數約定 string string 演算法思想 倒置相乘 然後統一處理進製 再還原 演算法複雜度 o n 2 include using namespace std const int l 110 string mul string a,string b for int...