書式#include <iostreamの> の#include < 文字列 > の#include <CStringの> 使用して 名前空間はstdを、 文字列A1、B1; int型 [ 100001 ]、B [ 100001 ]、C [ 100001 ]、T [ 100001を]。 INT(比較int型 AA []、int型 BB []){ // 判断数组大小 場合(AA [ 0 ]> BB [ 0 ])リターン 1 。 もし(AA [ 0 ] <BB [ 0 ])のリターン - 1; 以下のために(INT iがAA [= 0 ]; I> 0 ; i-- ){ 場合(AA [I]> BB [i])とリターン 1 。 もし(AA [I] <BB [i])とリターン - 1 。 } 戻り 0 。 } ボイド numcpy(int型 AA []、INT BB []、INT L){ // 数组复制 ため(INT iは= 1 ; I <= AA [ 0 ]; I ++)BB [iが+ 1- 1 ] = AA [私]; BB [ 0] = AA [ 0 ] + -1- 1 。 } int型のmain(){ CIN >> A1 >> B1。 [ 0 ] = a1.size()。 B [ 0 ] = b1.size()。 C [ 0 ] = [ 0 ] -b [ 0 ] + 1 。 以下のために(INT iが= 1 ; I <= [ 0 ]; I ++)[I] = A1 [ 0 ] -i] - 48 。 以下のために(INT iが= 1 ; I <= B [ 0 ]; I ++)B [I] = B1 [B [ 0 ] -i] -48 ; 用(INT I = C [ 0 ]、I> 0 ; i-- ){ memsetの(T、0、はsizeof (T))。 numcpy(B、T、I)。 一方、(比較(T)> = 0 ){ C [I] ++ ; もし(!{T(比較)) [ 0 ] = 0 ; 続け; } ため(INT iが= 1 ; I <= [ 0 ]; I ++ ){ もし([I] <T [i])と[I + 1 ] - 、[I] + = 10 。 [I] - = T [i]は、 } 一方([ 0 ]> 0 && [!0 ]])[ 0 ] - 。 } } 、一方(C [ 0 ]> 0 && C [C [!0 ]])C [ 0 ] - 。 もし(!C [ 0 ])はcout << 0 << てendl; 他 のために(int型 I = C [ 0 ]; I> 0; i--)COUT << C [i]は、 リターン 0 ; }