蓝桥杯 小数第n位

孤者浪人 提交于 2020-03-09 10:13:40
问题描述
  我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。
  如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。


  本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。
 

输入格式
  一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)

输出格式
  一行3位数字,表示:a除以b,小数后第n位开始的3位数字。

样例输入
1 8 1
样例输出
125
#include<cmath>
#include<stack>
using namespace std;
int main()
{
    double a,b,c,e=3;
    cin>>a>>b>>c;
    double d=a/b;
    d*=pow(10,c+2);
    int t=d;
    stack<int>s;
    while(e--)
    {
        s.push(t%10);
        t/=10;
    }
    while(s.size()>0)
    {
        cout<<s.top();
        s.pop();
    }
    return 0;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!