zoukankan      html  css  js  c++  java
  • 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;
    }
     
  • 相关阅读:
    Ansible import_playbook 导入playbook
    Ansible Playbook 变量传递
    Ansible Notify与Handler组合
    Ansible Role
    Ansible infile模块
    Ansible When有条件的运行任务
    Ansible register捕获命令输出
    Ansible Command Shell Raw模块区别
    Ansible Facts
    Ansible Jinjia2模块
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/10401798.html
Copyright © 2011-2022 走看看