首页 > 代码库 > BZOJ 2296【POJ Challenge】随机种子(构造)

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;}

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