zoukankan      html  css  js  c++  java
  • AcWing 794.高精度除法

    AcWing 794.高精度除法

    题目描述

    给定两个正整数A,B,请你计算 A / B的商和余数。

    输入格式

    共两行,第一行包含整数A,第二行包含整数B。

    输出格式

    共两行,第一行输出所求的商,第二行输出所求余数。

    数据范围

    1≤A的长度≤100000,
    1≤B≤10000

    输入样例

    7
    2
    

    输出样例

    3
    1
    

    题目思路

    低角标存低位,高角标存高位;按位依次向后除,A[i]除整个b,余数进位

    #include<iostream>
    #include<string>
    #include<vector>
    #include<algorithm>
    using namespace std;
    
    vector<int> div(vector<int> &A,int &b,int &r)
    {
        vector<int> C;
        int t = 0;
        for(int i=A.size()-1;i>=0;i--)
        {
            t *= 10;
            t += A[i];
            C.push_back(t/b);
            t %= b;
        }
        r = t;
        reverse(C.begin(),C.end());
        while(C.size()>1&&C.back()==0) C.pop_back();
        return C;
    }
    
    int main()
    {
        string a;
        int b,r=0;
        cin >> a >> b;
        vector<int> A,C;
        for(int i=a.size()-1;i>=0;i--) A.push_back(a[i] - '0');
        
        C = div(A,b,r);
        
        for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);
        printf("
    %d",r);
        
        return 0;
    }
    
  • 相关阅读:
    mysql新建用户的方法
    工具网站
    如何做好站内锚文本?
    js 创建对象与继承
    js tips
    js作用域链 js没有块级作用域
    css
    instanceof
    问题
    传递,引用副本传递
  • 原文地址:https://www.cnblogs.com/fsh001/p/12242954.html
Copyright © 2011-2022 走看看