高精度問題之大數相除和求餘

2021-07-04 03:37:16 字數 472 閱讀 8660

實現的是大數跟int型別的相除和求餘

ac**如下

#include #include using namespace std;

void bigdivision(char *src, int num, char sign) else

} if (sign == '%')

for (int i =0; i< k; ++i)

cout<< res[i];

cout<< endl;

} int main(int argc, char** argv)

return 0;

}

解題心得: 模擬手算的過程。需要注意的是。其中餘數的存放要用long long存放比較好。因為如果採用int型別那麼     rem = prem * 10/*向後退一位*/ + src[i] - '0';    這行**可能會出現溢位問題。

大數相除「高精度除低精度」和「高精度除高精度」

二 高精度除高精度 採用計算機做高精度除法時,模擬日常除法的步驟。但計算機不可能做 試商 這時,我們可以採用減法來模擬 試商 的過程。演算法的步驟如下 1 將除數移動和被除數對齊,位數不夠時,補0。2 利用被除數減去除數,一直減到被除數小於除數,減的次數,就是 試商 的結果,每移動一次。3 重複上述...

高精度之大數乘大數

現在我們來說一下大數乘以大數。大數乘以大數也是用來模擬手算。舉個例子吧!先從個位開始乙個乙個的乘 乘完個位然後再乘十位,乘十位的時候要和個位的想成的結果相加。這裡注意乘十位的時候 就不要和乘個位數字的結果中的最後一位相加了 就是如圖搓位。就是這樣 下面先貼上我的 include includeusi...

高精度之大數階乘

大數階乘 序言 今天是我寫部落格的第二天,差點忘了寫,反思一下,下次要早點發。大數階乘也是高精度題目中的入門題。它的主要思路和上一次我發的大數加法相似,也是以陣列來按位處理資料。他的難度級別應該比大數加法還低一點。他的輸入很簡單,也不需要定義多餘的輔助陣列。只需要將需要求階乘的數先輸入到陣列中。再將...