zoukankan      html  css  js  c++  java
  • 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
    



    #include<iostream>
    #include<string>
    using namespace std;
    int main(){
        string str,ans;//定义除数和商
        int n,d = 0;
        cin >> str >> n;//输入除数与被除数
        for(int i = 0; i <= str.size()-1; i++){//从最高位到最低位依次除,d保存的是每位的余数
            int current = d * 10 + (str[i]-'0');
            ans += (current / n+'0');
            d = current % n;
        }
        for(int i = (ans[0] == '0' && ans.size()!=1)?1:0; i < ans.size(); i++)//如果除数最高位比被除数小,那么商的第一位为0.
            cout << ans[i];
        cout << " " << d;
        return 0;
    }
  • 相关阅读:
    网页游戏中PK系统的实现
    操作系统面试题
    9.26<立方网>技术笔试题
    cocos2d-x游戏之2048
    适配器模式
    工厂模式的三种形式
    面向对象设计的几大原则
    数据库的优化
    @RequestBody的使用
    vue.js小记
  • 原文地址:https://www.cnblogs.com/fromzore/p/9544486.html
Copyright © 2011-2022 走看看