BZOJ 2296【POJ Challenge】随机种子(构造)

 

【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2296

 

【题目大意】 

  给出一个数x,求一个10的16次以内的数使得其被x整除并且数字包含0到9所有数字

 

【题解】

  我们构造数前10位为0到9,利用后面六位补充使得其为x的倍数,x为10的6次方以内,
  因此除x=0的特殊情况外一定存在解。

 

【代码】

#include <cstdio>
using namespace std;
int T,x;
int main(){
    scanf("%d",&T);
    while(T--){
        scanf("%d",&x);
        if(x)printf("1234567890%06d\n",(x-1234567890000000ll%x)%x);
        else printf("-1\n");
    }return 0;
}
posted @ 2017-05-16 09:35  forever97  阅读(246)  评论(0编辑  收藏  举报