这道题目不是完全由我自己解决的,当时看完题,我冥思苦想,实在找不到很好的解决办法。后来上网查阅了一下这道题目的解法,结果在网上看了一位前辈的算法,我当时就懵了,这个算法真的是很精辟,于是我花了一个多小时的时间将他的代码搞明白,然后优化一下,提交后就AC了不过在ac之前我还是错了五次,不过始终是自己写完了代码,过了
View Code
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 char s[10000], ch; 6 long long div, i, k, rem; 7 while(scanf("%s %c %lld",s,&ch,&div) != EOF) 8 { 9 rem = 0; 10 k = strlen(s); 11 for(i = 0;i < k; i++) 12 { 13 rem = rem*10 + s[i]-'0'; 14 s[i] = rem/div + '0'; 15 rem %= div; 16 } 17 if(ch == '/') 18 { 19 i = 0; 20 while(s[i] == '0') 21 i++; 22 if(i >= k) 23 printf("0\n"); 24 else 25 puts(s+i); 26 } 27 else 28 printf("%lld\n",rem); 29 } 30 return 0; 31 }