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 | # 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'; sub=n1-n2-c; if(sub<0) { sub=10-sub;c=1; arr[k++]=sub+'0'; } else {c=0;arr[k++]=sub+'0';} } 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'; } else {c=0;arr[k++]=sub+'0';} } 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+PTA7aS0tKQoJYltrKytdPWIxW2ldOwpiW2tdPSdcMCc7CQoKcHJpbnRmKCIlcyAlc1xuIixhLGIpOwoJbDE9c3RybGVuKGEpOwoJbDI9c3RybGVuKGIpOwoJaWYobDI+bDEpCgl7CgkJc3RyY3B5KHRlbXAsYik7CgkJc3RyY3B5KGIsYSk7CgkJc3RyY3B5KGEsdGVtcCk7Cgl9CiAgICAgICAgbDE9c3RybGVuKGEpOwoJbDI9c3RybGVuKGIpOwoJCWs9MDsKICAgICAgICBmb3IoaT0wO2k8bDI7aSsrKQoJewoJCWludCBuMT1hW2ldLScwJzsKCQlpbnQgbjI9YltpXS0nMCc7CgkJc3ViPW4xLW4yLWM7CgkJaWYoc3ViPDApCgkJewoJCQlzdWI9MTAtc3ViO2M9MTsKCQkJYXJyW2srK109c3ViKycwJzsKCQkJCgkJfQoJCWVsc2Uge2M9MDthcnJbaysrXT1zdWIrJzAnO30KCSB9CgkKCWZvcihpPWwyO2k8bDE7aSsrKQoJewoJCWludCBuMT1hW2ldLScwJzsKCQlzdWI9bjEtYzsKCQlpZihzdWI8MCkKCQl7CgkJCXN1Yj0xMC1zdWI7Yz0xOwoJCQlhcnJbaysrXT1zdWIrJzAnOwoJCX0KCQllbHNlIHtjPTA7YXJyW2srK109c3ViKycwJzt9Cgl9CglhcnJba109J1wwJzsKCnByaW50ZigiYXJyPSVzXG4iLGFycik7Cgpmb3IoaT1zdHJsZW4oYXJyKS0xO2k+PTA7aS0tKQoJcHJpbnRmKCIlYyIsYXJyW2ldKTsKCnJldHVybiBhcnI7Cn0KICAgICAgICAgICAgCgppbnQgbWFpbigpCnsKIGNoYXIgYVttYXhdLGJbbWF4XSxjW21heF07CglzY2FuZigiJXMgJXMiLGEsYik7CnN1YnRyYWN0KGEsYik7CnJldHVybiAwOwp9Cgk=
-
upload with new input
-
結果: Success time: 0.01s 記憶體: 1724 kB 回傳值: 0
1000000 999
0000001 999 arr=CDD;;;0 0;;;DDC
-
結果: Success time: 0.01s 記憶體: 1724 kB 回傳值: 0
9999 123
9999 321 arr=6789 9876



