1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # define max 1000 char arr[max]; void subtract(char *a1,char *b1) { int l1,l2; char temp[max],a[max],b[max]; int c=0,sub=0,m=0; int i,j,k=0; for(i=strlen(a1)-1;i>=0;i--) a[k++]=a1[i]; a[k]='\0';k=0; for(i=strlen(b1)-1;i>=0;i--) b[k++]=b1[i]; b[k]='\0'; //printf("%s %s\n",a,b); l1=strlen(a); l2=strlen(b); if(l2>l1) { strcpy(temp,b); strcpy(b,a); strcpy(a,temp); } l1=strlen(a); l2=strlen(b); k=0; for(i=0;i<l2;i++) { int n1=a[i]-'0'; int n2=b[i]-'0'; printf("n1=%d n2=%d ",n1,n2); sub=n1-n2-c; if(sub<0) { sub=10-sub;c=1; arr[k++]=sub+'0'; printf("%d %c\n",sub,arr[k-1]); } else {c=0;arr[k++]=sub+'0'; printf("%d %c\n",sub,arr[k-1]);} } for(i=l2;i<l1;i++) { int n1=a[i]-'0'; sub=n1-c; if(sub<0) { sub=10-sub;c=1; arr[k++]=sub+'0'; printf("2== %d %c\n",sub,arr[k-1]); } else {c=0;arr[k++]=sub+'0'; printf("2== %d %c\n",sub,arr[k-1]);} } arr[k]='\0'; printf("arr=%s\n",arr); for(i=strlen(arr)-1;i>=0;i--) printf("%c",arr[i]); return arr; } int main() { char a[max],b[max],c[max]; scanf("%s %s",a,b); subtract(a,b); return 0; } |
IyBkZWZpbmUgbWF4IDEwMDAKY2hhciBhcnJbbWF4XTsKdm9pZCBzdWJ0cmFjdChjaGFyICphMSxjaGFyICpiMSkKewogICAgICBpbnQgbDEsbDI7CgljaGFyIHRlbXBbbWF4XSxhW21heF0sYlttYXhdOwoJaW50IGM9MCxzdWI9MCxtPTA7CglpbnQgaSxqLGs9MDsKIApmb3IoaT1zdHJsZW4oYTEpLTE7aT49MDtpLS0pCglhW2srK109YTFbaV07CgogYVtrXT0nXDAnO2s9MDsKZm9yKGk9c3RybGVuKGIxKS0xO2k+PTA7aS0tKQoJYltrKytdPWIxW2ldOwpiW2tdPSdcMCc7CQoKLy9wcmludGYoIiVzICVzXG4iLGEsYik7CglsMT1zdHJsZW4oYSk7CglsMj1zdHJsZW4oYik7CglpZihsMj5sMSkKCXsKCQlzdHJjcHkodGVtcCxiKTsKCQlzdHJjcHkoYixhKTsKCQlzdHJjcHkoYSx0ZW1wKTsKCX0KICAgICAgICBsMT1zdHJsZW4oYSk7CglsMj1zdHJsZW4oYik7CgkJaz0wOwogICAgICAgIGZvcihpPTA7aTxsMjtpKyspCgl7CgkJaW50IG4xPWFbaV0tJzAnOwoJCWludCBuMj1iW2ldLScwJzsKCQlwcmludGYoIm4xPSVkIG4yPSVkICIsbjEsbjIpOwoJCXN1Yj1uMS1uMi1jOwoJCWlmKHN1YjwwKQoJCXsKCQkJc3ViPTEwLXN1YjtjPTE7CgkJCWFycltrKytdPXN1YisnMCc7CgkJCXByaW50ZigiJWQgJWNcbiIsc3ViLGFycltrLTFdKTsKCQkJCgkJfQoJCWVsc2Uge2M9MDthcnJbaysrXT1zdWIrJzAnOwlwcmludGYoIiVkICVjXG4iLHN1YixhcnJbay0xXSk7fQoJIH0KCQoJZm9yKGk9bDI7aTxsMTtpKyspCgl7CgkJaW50IG4xPWFbaV0tJzAnOwoJCXN1Yj1uMS1jOwoJCWlmKHN1YjwwKQoJCXsKCQkJc3ViPTEwLXN1YjtjPTE7CgkJCWFycltrKytdPXN1YisnMCc7CgkJcHJpbnRmKCIyPT0gICVkICVjXG4iLHN1YixhcnJbay0xXSk7CgkJfQoJCWVsc2Uge2M9MDthcnJbaysrXT1zdWIrJzAnOyBwcmludGYoIjI9PSAgJWQgJWNcbiIsc3ViLGFycltrLTFdKTt9Cgl9CglhcnJba109J1wwJzsKCnByaW50ZigiYXJyPSVzXG4iLGFycik7Cgpmb3IoaT1zdHJsZW4oYXJyKS0xO2k+PTA7aS0tKQoJcHJpbnRmKCIlYyIsYXJyW2ldKTsKCnJldHVybiBhcnI7Cn0KICAgICAgICAgICAgCgppbnQgbWFpbigpCnsKIGNoYXIgYVttYXhdLGJbbWF4XSxjW21heF07CglzY2FuZigiJXMgJXMiLGEsYik7CnN1YnRyYWN0KGEsYik7CnJldHVybiAwOwp9Cgk=
-
upload with new input
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
10000 99
n1=0 n2=9 19 C n1=0 n2=9 20 D 2== 11 ; 2== 11 ; 2== 0 0 arr=CD;;0 0;;DC
-
result: Success time: 0.01s memory: 1724 kB returned value: 0
9999 123
n1=9 n2=3 6 6 n1=9 n2=2 7 7 n1=9 n2=1 8 8 2== 9 9 arr=6789 9876



