~
- #include<stdio.h>??
- #include<string.h>??
- #include<stdlib.h>??
- #define?MaxLen?200??
- ??
- ??
- //?结果存在p1中,返回值代表结果的长度??
- //不够减?返回-1?正好够?返回0??
- int?SubStract(?int?*p1,?int?*p2,87); background-color:inherit; font-weight:bold">int?len1,87); background-color:inherit; font-weight:bold">int?len2?)??
- {??
- ????int?i;??
- ????if(?len1?<?len2?)??
- ????????return?-1;??
- if(?len1?==?len2?)??
- ????{??????????????????????????
- ????????for(?i=len1-1;?i>=0;?i--?)??
- ????????{??
- ????????????if(?p1[i]?>?p2[i]?)?????
- ????????????????break;??
- else?if(?p1[i]?<?p2[i]?)???
- ????????}??
- ????}??
- for(?i=0;?i<=len1-1;?i++?)????
- ????{??
- ????????p1[i]?-=?p2[i];??
- if(?p1[i]?<?0?)????????????
- ????????{??
- ????????????p1[i]?+=?10;???????????
- ????????????p1[i+1]--;?????????????
- ????????}??
- ????}??
- ????for(?i=len1-1;?i>=0;?i--?)?????????
- if(?p1[i]?)????????????????????
- ????????????return?(i+1);?????????
- return?0;????????????????????
- }??
- int?main()??
- {??
- ????int?n,?k,?i,?j;???????????????
- //大数位数??
- int?nTimes;???????????????????
- int?nTemp;????????????????????
- int?num_a[MaxLen];????????????
- int?num_b[MaxLen];????????????
- int?num_c[MaxLen];????????????
- char?str1[MaxLen?+?1];????????
- char?str2[MaxLen?+?1];????????
- ??
- ????scanf("%d",&n);??
- while?(?n-->0?)??
- ????{??
- ????????scanf("%s",?str1);??????????
- ????????scanf("%s",?str2);??
- for?(?i=0;?i<MaxLen;?i++?)?????
- ????????????num_a[i]?=?0;??
- ????????????num_b[i]?=?0;??
- ????????????num_c[i]?=?0;??
- ??
- ????????len1?=?strlen(str1);????
- ????????len2?=?strlen(str2);??
- for(?j=0,?i=len1-1;?i>=0;?j++,?i--?)??
- ????????????num_a[j]?=?str1[i]?-?'0';????
- ????????????num_b[j]?=?str2[i]?-?'0';??
- if(?len1?<?len2?)?????
- ????????????printf("0n");??
- continue;?????
- ????????nTimes?=?len1?-?len2;??????
- for?(?i=len1-1;?i>=0;?i--?)??????
- if?(?i>=nTimes?)??
- ????????????????num_b[i]?=?num_b[i-nTimes];??
- else???????????????????????
- ????????????????num_b[i]?=?0;??
- ????????len2?=?len1;??
- for(?j=0;?j<=nTimes;?j++?)????????
- while((nTemp?=?SubStract(num_a,num_b?+?j,len1,len2?-?j))?>=?0)??
- ????????????{??
- ????????????????len1?=?nTemp;????????
- ????????????????num_c[nTimes-j]++;??
- ????????????}??
- ??????????
- for(?i=MaxLen-1;?num_c[i]==0?&&?i>=0;?i--?);??
- if(?i>=0?)??
- for(?;?i>=0;?i--?)??
- ????????????????printf("%d",?num_c[i]);??
- else??
- ????????????printf("0");??
- ????????printf("n");??
- return?0;??
- }?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|