PREV-52 小数第n位

模拟,注意模拟除法的每一个步骤,同时注意加速运算过程

#include <bits/stdc++.h>
using namespace std;
//模拟除法的运算过程 
int main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    long long a,b,n;
    cin>>a>>b>>n;
    a = a%b;//将整数部分处理掉
    while(n-10>0){
        a*= 1e10;//快速接近需要处理的小数点位置
        a%=b;
        n-=10; 
    } 
    for(int i=0;i<n+2;i++)
    {//每次补0再除数
        a*=10;
        if(i>=n-1)
        cout<<a/b;//到达相应对应的位置,输出的实际上是整数 
        a%=b;//挨步进行计算 
    }
    return 0;
}

 

上一篇:AtomicInteger 源码解析(基于 JDK 1.8)


下一篇:单链表 冒泡排序