题目描述:
思路:
模拟进制转化过程。因为正常转换时只需要除完之后取余即可,但是此题不是从1开始,所以还要加上一个偏移量(10-k),又因为时取到9比10进制还少了1,所以在取每一位得时候要(a - -)。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<map>
using namespace std;
typedef unsigned long long ll;
const int mod=1e9+7;
void operate(int a,int b)
{
if(a==0) return;
a--;
operate(a/b,b);
cout<<a%b+10-b;
}
int main()
{
int T;
cin>>T;
while(T--)
{
int k,x;
cin>>k>>x;
operate(x,k);
cout<<endl;
}
return 0;
}