本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:123456789050987654321 7输出样例:
17636684150141093474 3
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{
string str1;
vector<int> str2;
int a,q,r,temp;
cin>>str1;
cin>>a;
//cout<<str1<<endl<<a;
temp=str1[0]-'0';
q=temp/a;
r=temp%a;
if(q!=0)
str2.push_back(q);
for(int i=1;i<str1.length();i++)
{
temp=r*10+str1[i]-'0';//余数乘以十再加上下一位的大小
q=temp/a;//商
str2.push_back(q);
r=temp%a;//余数
}
if(str2.size()==0)
cout<<0;
else
for(int j=0;j<str2.size();j++)
{
cout<<str2[j];
}
cout<<' '<<r;
}
注意:当商为零时,一定要输出零,否则会报错