專項複習1 高精度

2022-05-20 09:32:14 字數 1401 閱讀 1304

啥也不說,直接上**

#include #include #include #include using namespace std;

char ans1[505],ans2[505];

int num1[505],num2[505],numans[510];

int len1,len2,lent;

int main()

for(int i=1,j=len2;i<=len2;i++,j--)

lent=max(len1,len2)+1;

for(int i=1;i<=lent;i++)

for(int i=1;i<=lent;i++)

} while(numans[lent]==0&&lent>1) lent--;

for(int i=lent;i>=1;i--)

return 0;

}

斐波那契數列+高精度,基本上沒什麼改動

#include #include #include #include using namespace std;

int a[5001][1202];

int n;

//bool pd;

int pd;

int main()

for(int j=1;j<1200;j++)

} }for(int i=1200;i>1;i--)

printf("%d",a[n][1]);

return 0;

}

其實就是乙個萬能的高精度,\(b\)進製就是逢\(b\)進1,以前的\(\mod 10\)、÷10都變成\(\mod b\),剩下的和高精度相同,注意字母和數字的轉換(我用了兩個函式)

#include #include #include #include using namespace std;

int mod;

char ans1[2020],ans2[2020];

int num1[2020],num2[2020],numans[4050];

int len1,len2,lent;

int che(char s)

char ret(int s)

int main()

for(int i=1,j=len2;i<=len2;i++,j--)

lent=max(len1,len2)+1;

for(int i=1;i<=lent;i++)

for(int i=1;i<=lent;i++)

} while(numans[lent]==0&&lent>1) lent--;

for(int i=lent;i>=1;i--)

return 0;

}

演算法 高精度計算乘法1(高精度乘單精度)

題目描述 高精度乘單精度,a b。a是乙個很大的非負整數,但不超過240位,b是乙個非負整數不超過10000,求a b。高精度乘單精度的數學實現 1 2 5 25 25 50 125 諸位進製 3 1 2 512 5 2525 5012531 25實現步驟 1 string s讀入高精度數,int ...

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

先貼乙個簡單的高精度除以單精度的 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 ...

高精度除高精度

演算法流程 第一步,讀入被除數 a 和 除數 b,判斷是否 a b,是則輸出 0 並結束演算法,否則令 answer 0 第二步,令餘數 remainder 0,令 i 從被除數最高位的下標開始 第三步,令 remainder remainder 10 a i 令 c 9 第四步,判斷是否 b c ...