UVA - 10494 If We Were a Child Again

来源:互联网 发布:金融数据建模招聘 编辑:程序博客网 时间:2024/05/16 01:40

UVA - 10494 If We Were a Child Again

题目大意:高精除法 求 整除 或者 余数
解题思路:由于除数不是高精的 所有每次进位取余 求商就好了

/*************************************************************************    > File Name: UVA-10494.cpp    > Author: Robin    > Mail: 499549060@qq.com     > Created Time: 2016年07月20日 星期三 10时30分21秒 ************************************************************************/#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>using namespace std;int main() {    char c, c1, c2;    char x1[10000];    long long y;    int x[10000];    long long r;    int s[6000];    while (scanf("%s", x1) != EOF) {        while (1) {            scanf("%c", &c);            if (c == '/' || c == '%') break;        }        scanf("%lld",&y);        memset(s, 0, sizeof(s));        memset(x, 0, sizeof(x));        int t = strlen(x1);        for (int i = 0; i < t; i++)             x[i] = x1[i] - '0';        r = 0;        int tt = 0;        for (int i = 0; i < t; i++) {            r = r*10 + x[i];            s[tt] = r/y;            tt++;            r = r%y;        }        int flag = 0;        if ( c == '/') {            flag = 0;            while (s[flag] == 0 && flag < tt - 1) flag++;            for (int i = flag; i < tt; i++)                printf("%d", s[i]);        }        if ( c == '%') printf("%lld", r);        printf("\n");    }}
0 0