OpenJ_POJ

来源:互联网 发布:淘宝店铺名字化妆品 编辑:程序博客网 时间:2024/05/15 06:18

题意:给出一个数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);}elseprintf("-1\n");}return 0;}


原创粉丝点击