题意:给出一个数x,求任意一个满足条件的a,满足:a是x的倍数,a这个数包含了0,1,2,...9十个数。
0<=x<=10^6 1<=a<=10^16
思路:要对给出的范围敏感!!
0-9十位加上给出的数10^6的6位是不是正好等于10^16的16位!!!
所以的前十位之间固定为9876543210,后6位加上一个数是的他被x整除。即加上x-987645321000000%x;
#include <iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
long long gao=9876543210000000;
int main()
{
int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
long long x;
scanf("%lld",&x);
if(x)
{
printf("%lld\n",gao+x-gao%x);
}
else
printf("-1\n");
}
return 0;
}