题意:
求一个≤10^16的数,使这个数包含123456789且为x的倍数。x≤1000000。
题解:
16-6刚好等于10。因此我们可以直接让所求的数的前10位为1234567890,则只要求出1234567890000000加上什么≤1000000的数可以为x的倍数即可,而这个可以很容易求出。
代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
#define inc(i,j,k) for(int i=j;i<=k;i++)
using namespace std; const long long a=1LL**;
int t; long long b;
int main(){
scanf("%d",&t); inc(i,,t){scanf("%lld",&b); if(b)printf("%lld\n",a+b-a%b);else puts("-1");} return ;
}
20160905