高精度算法:python
1.適用於數據很大的加減乘除法運算;算法
2.因爲C語言對於數據類型的限制而出現;數組
3.python因爲數據無限制,不存在此類問題大數據
算法處理步驟:blog
數據存儲——>模擬仿真——>進位處理——>數據輸出數學
the first:string
既然使用了高精度,說明數據極大,沒法用現有數據類型接受,soio
咱們在存儲的時候須要特別處理:class
#include<stdio.h> #include<string.h> int main() { char str[1000]; scanf("%s",str); int num[1000]; int len=strlen(str); int i; for(i=len;i>=0;i--)//反向存儲,這裏須要格外注意,思考一下,爲何要這樣作; { num[i]=str[i]-'0'; } return 0; }
這裏的處理方法其實就是使用char類型數組,以字符型數組的形式將超大數據接收,在使用ASCII碼錶將字符轉化爲一個單獨的數,便於後期計算模擬,可是並不改變數在總體數據中的結構。數據類型
模擬仿真:其意是說將其按照咱們熟悉的數學計算方法來仿真計算。
例如:(加法)
2 4 5
+ 9 2 8
——————
11 6 13
若是按照咱們的習慣,咱們在計算加法後直接編進位了,可是計算機是沒法理解咱們的習慣的,因此,咱們須要單獨處理進位。
彷佛這兒沒寫完,可是我更新了Blog地址,以前的地址失效了,有時間再補吧……
這是大數的計算方法,若是有興趣,我附上一個超快大數運算算法的介紹:https://zhuanlan.zhihu.com/p/63291883