高精度算法(複習回顧)

高精度算法: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

相關文章
相關標籤/搜索