描述
求a/b的结果。 已知a,b为10^8范围内的非负整数,求a/b保留前n位小数商的结果。
输入描述
a b n
输出描述
一行数字
用例输入 1
97 61 50
用例输出1
1.59016393442622950819672131147540983606557377049180
来源
高精度算法
AC code 方案一
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s1="\0",s3="\0";
int b,n;
cin>>s1>>b>>n;
int tempB=0,tempY=0;
for(int i=0;i<=s1.length()-1+n;i++)
{
if(i<=s1.length()-1) tempB=tempY*10+(s1[i]-'0');
else tempB=tempY*10;
char x =tempB/b+'0';
s3=s3+x;
tempY=tempB%b;
}
int flag=0;
for(int i=0;i<=s1.length()-1;i++)
{
if(flag==1) cout<<s3[i];
if(s3[i]!='0' && flag==0)
{
flag=1;cout<<s3[i];
}
}
cout<<".";
for(int i=s1.length();i<=s3.length()-1;i++) cout<<s3[i];
return 0;
}
AC CODE 方案二
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,n;
cin>>a>>b>>n;
cout<<a/b<<".";
int c=a%b;
for(int i=1;i<=n;i++){
c*=10;
cout<<c/b;
c%=b;
}
return 0;
}
收工