题目描述
请从键盘读入一个高精度整数a(不超过100位),再读入另一个单精度整数b(b不超过8位),请求出a除以b得到的商,是多少?
输入
输入有2行,第一行有一个整数a(不超过100位),第二行有一个整数b。
输出
请输出a/b得到的商。
样例
输入
8162148605591693302243
20136
输出
405351043185920406
代码如下
#include<iostream>
#include<algorithm>
using namespace std;
string div(string a,int b)
{
string r,ans;
int d=0;
if(a=="0") return a;
for(int i=0;i<a.size();i++)
{
r+=(d*10+a[i]-'0')/b+'0';
d=(d*10+(a[i]-'0'))%b;
}
int p=0;
for(int i=0;i<r.size();i++)
if(r[i]!='0') {p=i;break;}
return r.substr(p);
}
int main()
{
string a;
int b;
while(cin>>a>>b)
{
cout<<div(a,b)<<endl;
}
return 0;
}
每日小知识 if
if就是判断。如果你会,可以用max或min函数来替换。