文章

6

粉丝

228

获赞

0

访问

30.4k

头像
模拟除法,注意开头为0的情况和只有1位的情况
P1851 北京师范大学2019年机试题
发布于2022年4月11日 21:37
阅读数 4.6k

#include <bits/stdc++.h>
using namespace std;

int main(){
    string A;
    int B, Q, R;
    while(cin>>A>>B){
        if(A[0]=='0'){//处理开头为0的字符串
            A = A.substr(1,A.size()-1);
        }
        Q = (A[0]-'0')/B;//商
        R = (A[0]-'0')%B;//余数
        if(Q!=0 || A.size()==1)//只有一位数字或者第一位余数大于0
            cout<<Q;
        for(int i=1; i<A.size(); i++){
            Q = (R*10+A[i]-'0')/B;//商
            R = (R*10+A[i]-'0')%B;//余数
            cout<<Q;
        }
        cout<<" "<<R<<endl;;
    }
    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发