簡單模擬就可以實現高精度加、減、乘、除(高精度除以低精度)
/*
* template:高精度演算法
* date:2020/08/22
*/#include
#include
using
namespace std;
const
int maxlen=
1001
;typedef
struct
hugeint;
bool negative;
//大數輸入
hugeint scanhugeint()
return hugeint;
}//大數加法
hugeint plushugeint
(hugeint a,hugeint b)
return res;
}//大數減法
hugeint minushugeint
(hugeint a,hugeint b)
else
if(a.len==b.len)}}
if(negative)
res.len=a.len;
for(i=
1; i<=res.len; i++
) res.num[i]
=a.num[i]
-b.num[i];}
while
(res.num[res.len]==0
&&res.len!=
1) res.len--
;return res;
}//高精度乘法
hugeint mutiplyhugeint
(hugeint a,hugeint b)
res.num[i+b.len]
=x;}
while
(res.num[res.len]==0
&&res.len!=
1) res.len--
;return res;
}//高精度除法(高精度除以低精度)
hugeint dividesmallint
(hugeint a,
int b)
while
(res.num[res.len]==0
&&res.len!=
1) res.len--
;return res;
}int
main()
演算法 高精度(模板)
出自南昌理工學院acm集訓隊 我們用的最基礎的運算方法有四種,加 減 乘 除。在進行進行加減乘除的運算中較小的資料時,我們的編譯器是能夠充分且快速的進行運算的,但是如果要運算的資料是很大很大,超過了int定義的資料範圍的時候怎麼辦呢?這時候我們就要採用另一種的方法 高精度,來進行運算。在這裡我就介紹...
演算法模板 高精度加法模板
高精度,字面意思理解,精度高,位數很多,乙個數的位數可能是1e3甚至更高 應用 手動模擬大整數的加法 兩個位數很大,位數可能達到1e3甚至更高的數加法運算直接儲存無法儲存,常規使用字串或者陣列來儲存時間複雜度是o max m,n 但是空間複雜度是2 m n m和n分別是兩個數的位數大小 模擬兩個數進...
個人模板 高精度演算法
一 求兩個高精度正數的和差積 1 include2 include3 include4 include5 using namespace std 6const int maxn 1000 7 char s1 maxn s2 maxn 8int ed1,ed2,n1,n2 9int num1 maxn...