zoukankan      html  css  js  c++  java
  • ACM题目————A除以B

    本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。

    输入格式:

    输入在1行中依次给出A和B,中间以1空格分隔。

    输出格式:

    在1行中依次输出Q和R,中间以1空格分隔。

    输入样例:
    123456789050987654321 7
    
    输出样例:
    17636684150141093474 3
    

    大数求模,大数除一个小数。

    按字符串一个一个求模(除)。

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    #include <cctype>
    #include <cstdlib>
    #include <stack>
    #include <cmath>
    #include <string>
    #include <queue>
    #define INF 65535
    
    using namespace std;
    
    int main() {
        char A[1100], Q[1100];
        int B, R, i, j, length, sum;
        scanf("%s", A);
        scanf("%d", &B);
        length = strlen(A);
        sum = 0;
        for(i = 0, j = 0; i < length; i ++) {
            sum = 10 * sum + A[i] - '0';
            if(i == 0 && sum < B && length > 1) {
            } else {
            Q[j ++] = sum / B + '0';
            }
            sum = sum % B;
        }
        R = sum;
        Q[j] = '';
        printf("%s %d", Q, R);
        return 0;
    } 
    低调做人,高调做事。
  • 相关阅读:
    API下载文件
    c# 测试网络连接
    C# Word 插入签名图片
    c# word文档合并
    c# 文件筛选
    e
    基本初等函数(Basic elementary function)
    前端性能优化学习
    解决点击穿透的最佳实践
    ObjectARX通过选定的实体获取所有组名示例
  • 原文地址:https://www.cnblogs.com/Asimple/p/5663017.html
Copyright © 2011-2022 走看看