算一个数前三位和后三位
之前做过这样的题,后三位快速幂mod1000即可,前三位我们可以通过对log10(n^k)变换算出结果
需要注意的是前三位不会为0, 后三位可能为0
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<cmath>
using namespace std;
int main()
{
string s;
while(cin >> s)
{
int n;
scanf("%d",&n);
long long fir = 0;//指向字符串的两个指针
int maxy = -1;
while(n)
{
long long i;
for(i = 0; i < n; i ++)
{
if(maxy < (s[i] - '0'))
{
maxy = s[i] - '0';
fir = i;
}
}
n -= (i - fir);
s.erase(fir, i - fir);
maxy = -1;
}
cout<<s<<endl;
}
return 0;
}