OJ 大整數減法
阿新 • • 發佈:2018-12-15
描述
求兩個大的正整數相減的差。
輸入
共2行,第1行是被減數a,第2行是減數b(a > b)。每個大整數不超過200位,不會有多餘的前導零。
輸出
一行,即所求的差。
樣例輸入
9999999999999999999999999999999999999
9999999999999
樣例輸出
9999999999999999999999990000000000000
code:
#include<iostream> #include<cstdio> #include<string> #include<cstring> #define m 9000 using namespace std; int main() { int x[m],y[m]; char b[m],c[m]; int i,s,r,t,z; gets(b); gets(c); s=strlen(b); r=strlen(c); if(s>r) t=s; else t=r; for(int i=0;i<s;i++) x[i]=b[s-i-1]-'0'; for(int i=0;i<r;i++) y[i]=c[r-i-1]-'0'; for(int i=0;i<t;i++) { x[i]-=y[i]; if(x[i]<0) { x[i+1]--; x[i]+=10; } } int z1=t; while(x[z1]==0&&z1!=0) z1--; for(int i=z1;i>=0;i--) cout<<x[i]; }