PTA乙级 A除以B
本题要求计算𝐴/𝐵A/B ,其中𝐴A是不超过 1000 位的正整数,𝐵B是 1 位正整数。你需要输出商数𝑄Q和余数𝑅R ,使得𝐴=𝐵×𝑄+𝑅A=B×Q+R成立。
输入格式:
输入在一行中依次给出𝐴A和𝐵B,中间以 1 空格分隔。
输出格式:
在一行中依次输出𝑄Q和𝑅R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
Copy
输出样例:
17636684150141093474 3
#include<stdio.h>
#include<math.h>
#include<string.h>
#include <iostream>
using namespace std;
int main(){
string a;int b;
cin>>a>>b;
int l=a.size();
long long t=0;
int flag;
if(a[0]=='0'&&l==1){cout<<"0 0";return 0;
}
else if(l<=1){
cout<<(a[0]-'0')/b<<" "<<(a[0]-'0')%b;return 0;
}
for(int i=0;i<l;i++){
flag=i;
int k=0;
k=(a[i]-'0'+t)/b;
t=((a[i]-'0'+t)%b)*10;
if(i==l-1)t=t/10;
if(k==0&&flag!=0)cout<<"0";
else if(k!=0)cout<<k;
}
cout<<" "<<t;
return 0;
}