高精度乘法

2021-09-10 23:51:20 字數 630 閱讀 2594

高精度×高精度有特定的規則,不同於高精度×低精度。高精×低精可以通過簡單修改高精度加法實現。

高精度乘法實現請觀察如下**。 注意大數類在這種情況下size的修改。

#include#includeusing namespace std;

struct biginteger

}void set(char str)}}

//高精度乘以高精度 不同於 高精度乘以低精度(用普通模板改改加法就可以)

//比如n的階乘可以只用高精度*低精度

// 高精度*高精度有一定規則

//並且套用到普通模板 需要注意給size賦值

biginteger operator * (const biginteger &a)const

if(ret.digit[i]!=0)

ret.size=i+1;

} return ret; }

void output()

else

}printf("\n");

}}a,b,c;

char str1[1000],str2[1000];

int main()

return 0;

}

高精度減法,高精度乘法

高精度減法 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...

高精度乘法

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 whi...