子供:DEV C ++、高精度の減算

#include <ビット/ STDC ++ H>
名前空間STDを使用して、
【1005】INT = {0}、[1005]、B = {0}、[1005] C = {0}。
文字列ST1、ST2;
INTメイン(){
CIN >> ST1 >> ST2。
INT LEN1 = st1.size()。
INT LEN2 = st2.size()。
INTのFH = 0、L、ZH = 0、K = 0。
// coutの<< ST1 <<てendl << ST2 <<てendl;
IF(LEN1 <LEN2)
{
L = LEN2。
FH = 1。
//スワップ(ST1、ST2)。

//スワップ(LEN1、LEN2)。
}

{

IF(LEN1> LEN2)
{
L = LEN1。
FH = 0;
}

{
IF(ST1 <ST2)
{
L = LEN2。
FH = 1。
//スワップ(ST1、ST2)。
//スワップ(LEN1、LEN2)。
// coutの<< FH <<てendl;


{
L = LEN1。
FH = 0;

}
}

}

(FH = 0!)なら
、{
スワップ(ST1、ST2)。
スワップ(LEN1、LEN2)。
}

リバース(st1.begin()、st1.end())。
逆(st2.begin()、st2.end())。
// coutの<< ST1 <<てendl << ST2 <<てendl;
以下のために(iは++; iは<LEN1 I = 0 INT)
{
'0' - B [I] = ST1を[I]と、
// coutの<< B [i]は<< "B:" << LEN1 <<てendl;
}
// COUT << LEN1 << ENDL。
以下のために(INT i = 0; iは<LEN2; iは++)
{
C [I] = ST2を[I] - '0'。
// COUT << C [I] << "C:" << LEN2 << ENDL。
}
// COUT << LEN2 << ENDL。

iがL <;ための式(I = 0 int型。
I ++) {
// COUT << B [I] << " - " << C [I] << "="。
[I] = bの[I] -c [I]。
// coutの<< [i]は<<てendl;
([I] <0)であれば
{
B [I + 1] - 。
B [i]は= bの[I] +10。
私 - ;
}

}
// COUT << ENDL。
(!FH = 0)の場合
; - '' coutの<<
以下のために(iは= int型、L-1、I> = 0; i--)
{

ZH = ZH + [I]。
}

// COUT << "L" << L << "ZH:" << ZH << ENDL。

(; iは> = 0 i-- int型i = L-1)のための
{
IF(!ZH = 0)
{
IF(![I] = 0 || K == 1)
{
COUT << [I ];
K = 1。
}

{
}
}
}
もし(ZH == 0)
COUT << "0"。
0を返します。
}

おすすめ

転載: www.cnblogs.com/zdc-shine/p/11324113.html