UVA 10494 (13.08.02)

来源:互联网 发布:c 可视化编程 编辑:程序博客网 时间:2024/04/30 09:15

点此连接到UVA10494

思路: 采取一种, 边取余边取整的方法, 让这题变的简单多~


AC代码:

#include<stdio.h>#include<string.h>int main() {long long mod;long long k, tmp;int len;int ans[10010];char num[10010], ch[2];while(scanf("%s%s%lld", num, ch, &mod) != EOF) {len = strlen(num);k = 0;tmp = 0;memset(ans, 0, sizeof(ans));for(int i = 0; i < len; i++) {tmp = tmp * 10 + num[i] - '0';ans[k++] = tmp / mod; //此步导致ans有前导0, 后续要判断tmp = tmp % mod;}if(ch[0] == '/') {int pos;for(pos = 0; pos < 10010; pos++)if(ans[pos])break; //从头判起, 直到第一个不为0的位置if(pos == 10010)printf("0");elsefor(int i = pos; i < k; i++)printf("%d", ans[i]);printf("\n");}elseprintf("%lld\n", tmp);}return 0;}

原创粉丝点击