高精度減法,高精度乘法

2021-07-04 19:39:33 字數 1084 閱讀 6964

高精度減法

oj資料偏弱如果新增乙個101-2就錯了,下面這一步是為了防止錯誤的

if(a[aa]<』0』)

可能出現第一位的1被借走的的情況,所以加乙個while找第乙個不是0的

while(c[i]<=』0』)

i–;

#include

#include

#include

#include

#include

#include

using

namespace

std;

int main()

int i=0;

int aa=a.length()-1;

int bb=b.length()-1;

while(bb>=0)

else

}while(aa>=0)

c[i++]=a[aa--];

}while(c[i]<='0')

i--;

for(int k=i;k>=0;k--)

高精度乘法

注意一下,字元向陣列的轉換。

主要思路就是兩個數字相乘,第乙個數字的第i位乘以第二個數字的第j位得到的將是第三個數字的第i+j位;注意一下得到數 的某一位是否大於10;

#include

#include

#include

#include

#include

#include

using

namespace

std;

int main()

; for(int i=0;i1]=a[i]-'0';

}for(int i=0;i1]=b[i]-'0';

}for(int i=0;ifor(int j=0;jfor(int i=0;iif(c[i]>9)

}int cl=al+bl;

while(cl>0&&c[cl]==0)

cl--;

for(int i=cl;i>=0;i--)

cout

0;}

高精度加法 高精度減法

雖然以前自己就學習過,但是自己打出來的 目測效率不高,也不夠精簡 因此學習一下eden裡面的這一題 big integer add subtract ifndef big integer define big integer include include using std string usin...

高精度減法

題目描述 高精度減法 輸入輸出格式 輸入格式 兩個數 第二個可能比第乙個大 輸出格式 結果 是負數要輸出負號 輸入輸出樣例 輸入樣例 1 2 1 輸出樣例 1 1說明 這也沒什麼好說的,沒什麼特別的要求,就是乙個普普通通的高精減。程式如下 const max 500 var s integer a,...

高精度減法

description 輸入兩個整數a和b,輸出這兩個整數的差。a和b都不超過100位。input 輸入包括兩行,第一行為乙個非負整數a 被減數 第二行為乙個非負整數b 減數 兩個整數都不超過100位,兩數的最高位都不是0。output 輸出一行,表示a b的值。sample input 99999...