• 1017 A除以B (20 分)大数除法


    1017 A除以B (20 分)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    123456789050987654321 7
    

    输出样例:

    17636684150141093474 3
    思路:
      模拟手工除法即可,但是这个题目有一个测试样例是A<B,这里容易出错
    #include<iostream>
    #include<string>
    #include<vector>
    #include<string>
    #include<cstdio>
    #include<cmath>
    #include<string.h>
    #include<algorithm>
    #include<map>
    #include<stack>
    using namespace std;
    
    int main()
    {
        string str;
        int b;
        cin>>str>>b;
        int len=str.size();
        vector<int> A(len);
        vector<int>q;
        for(int i=len-1,j=0; i>=0; i--,j++)
            A[j]=str[i]-'0';
        int i=len-1,carry=0;
        while(i>=0)
        {
            int temp=A[i]+carry*10;
            q.push_back(temp/b);
            carry=temp%b;
            i--;
        }
        i=0;
        bool flag=true;
        for(; i<q.size(); i++)
            if(q[i]!=0)
                break;
        for(; i<q.size(); i++)
        {
            cout<<q[i];
            flag=false;
        }
        if(flag)
            cout<<"0";
        cout<<" "<<carry;
        return 0;
    }
     
  • 相关阅读:
    事件对象
    type of 操作符和instanceof操作符的区别以及使用方法
    JS:XML
    JS:事件处理程序
    JS:event对象下的target属性和取消冒泡事件
    JS:callee属性
    JS:call()和apply的区别
    JS:事件对象1
    DOM元素的大小和位置
    CSS:在IE浏览器下,元素下沉一行的解决办法
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/10401798.html
Copyright © 2020-2023  润新知