高精度除以单精度
题目描述
一个高精度数除以一个单精度数,求出它们的商和余数。
输入输出格式
输入格式:
输入有2行, 第1行是被除数,位数都不超过100位。
第2行是除数。
输出格式:
输出有2行。
第1行是商,
第2行是余数。
【代码】
#include<bits/stdc++.h>
using namespace std;
int c[10010],a[10010],b,len_a,len_c,x;
void read()
{
string s;
cin>>s>>b;
len_a=s.size();
for(int i=len_a-1;i>=0;--i)
a[len_a-i-1]=s[i]-'0';
}
void div()
{
x=0;
for(int i=len_a-1;i>=0;--i)
{
c[i]=(x*10+a[i])/b;
x=(x*10+a[i])%b;
}
len_c=len_a;
while(c[len_c-1]==0&&len_c>1) --len_c;//去掉前导0
}
void write()
{
for(int i=len_c-1;i>=0;--i)
cout<<c[i];
cout<<endl;
cout<<x;
}
int main()
{
//freopen("a5.in","r",stdin);
//freopen("a5.out","w",stdout);
read();
div();
write();
//fclose(stdin);
//fclose(stdout);
return 0;
}