PAT 1017. A除以B

1017. A除以B (20)

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

输入格式:

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

输出格式:

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

输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main(){
 5     string A; int B,R; vector<int> vi; 
 6     cin>>A>>B;
 7     int temp=0,len,i=0,m;
 8     len=A.length();
 9     if((temp=A[i]-'0')>=B) ;
10     else if((temp=A[i]-'0')<B&&i<len-1) temp=temp*10+(A[++i]-'0');
11     while(i!=len){
12     m=temp/B; vi.push_back(m);
13     R=temp%B; 
14     temp=R*10+(A[++i]-'0');    
15     }
16     for(auto o:vi)
17     cout<<o;
18     cout<<" "<<R<<endl;
19     return 0; 
20 }
View Code

 

posted @ 2017-12-18 08:49  A-Little-Nut  阅读(177)  评论(0编辑  收藏  举报