题目描述
描述:分数a/b化为小数后,小数点后第n位的数字是多少?
输入:三个正整数a,b,n,相邻两个数之间用单个空格隔开。0<a<b<100,1<=n<=10000。
输出:一个数字。
输入:1 2 1
输出:5
解题思路
核心思路:a/b小数点后的第n位数字等于a*10n/b。
注意事项:由于幂方很容易超出数据范围,所以我们按照竖式除法来一步步模拟计算。
#include<iostream>
using namespace std;
int main()
{
int a,b,c,r,n; //c表示商 r表示余数
cin>>a>>b>>n;
for(int i=1;i<=n;i++)
{
a=a*10;
c=a/b;
r=a%b;
a=r;
}
cout<<c<<endl;
return 0;
}