帶小數的高精度除法(除以低精度數)

2022-09-03 20:57:09 字數 1499 閱讀 4384

1/*2

******************************=

3code instruction45

coding by kaka·"ricochet"·simpson67

greatintcal.

8******************************=9*/

10#define maxl 1000

11 #include 12 #include

13void intcpy(int a,int

b);14

void arrayprint(int

a);

15void init(int

a);16

void div(int a,int b,int

c);17

1819

intmain()20

26void intcpy(int a,int b) //

交換陣列內容 27

38}

3940

void arrayprint(int a) //

此函式讀取陣列中a[0]儲存的陣列長度,並從後往前列印陣列數字。41

48for(i=a[0];i>0;i--)

49 printf("%d"

,a[i]);

50 printf("\n"

);51}52

53void init(int a)//

此函式讀取一串數字,並把數字轉換為陣列,陣列0位儲存長度。

5463

64void div(int a,int b,int c) //

此函式以一高精度數a除以乙個低精度數b,結果存放於c。輸出一次幷包含20位小數 65

74//

arrayprint(a);

//75

//printf("%d\n",bnum);

76//

開始除77

for(i=1,j=a[0];i)78

81//

arrayprint(a);

//82 x=0; //

x作為餘數儲存

83for(i=1;i<=a[0]+20;i++) //

按位相除 84

8889

//這裡收斂掉0

90 len=a[0]+20

; 91

while(c[1]==0&&len>21)//92

97 len--;

98}

99for(i=1;i<=len-20;i++)

100 printf("%d"

,c[i]);

101 printf("."

);102

for(i=len-19;i<=len;i++)

103 printf("%d"

,c[i]);

104 }

高精度除法(高精度除以高精度)

先貼乙個簡單的高精度除以單精度的 include include include using namespace std int main else ys ys 10 a i 0 while c i 0 i for int j i j 0 j printf d c j if ys printf d ...

高精度計算 除法 高精除以低精

高精度就是很長很長的數字 低精就是可以直接存在基本型別 int short double.的數字 兩個正整數,乙個是高精度,乙個是低精度,求整除部分,不求餘數。其實就算要負數也很好解決 兩個正整數,高精度除以低精度,只求整除部分,不求餘數 include include include using ...

分治演算法之2011 高精度除以低精度,快速冪

高精度除以低精度,快速冪 分治演算法,將n個2011相乘並對10000取餘看作n 2個4121相乘並對10000取餘 4121為2011 2011對10000取餘結果 同理。直到最低位為0,位數為1,得到結果。include include using namespace std char a 21...