小数第n位--快速幂+数学
1.快速幂,a*10的n+2次方/b可以实现整数位3位是答案,但是数太大会超限,就要想取余
2.要是取前三位的话,那么肯定就是结果取余1000,对于除法来说,就是分母取余b*1000;
蓝桥账户中心
#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef long long ll;
ll a,b,n;
ll powm(ll a,ll b,ll n)
{ll an=1;while(n){if(n%2) an=(an*a)%b;n/=2;a=(a*a)%b;}return an;
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>a>>b>>n;//cout<<powm(3,100000,4);ll an=a*powm(10,b*1000,n+2)%(b*1000);an/=b;if(an>=99){cout<<an;}else{if(an<99&&an>9){cout<<an*10;}else{if(an<=9&&an>=1) cout<<an*100;else cout<<"000";}}return 0;
}