题目大意
找倍数
给你一个数,找到一个能数是它的倍数的数,当然这个数只能由0和1组成.......这个数最大200,比较唬人,其实这个数在最大也不超过2^64.。。。。简单广搜一下
/////////////////////////////////////////////
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<queue>
using namespace std; long long BFS(long long s)
{
queue<long long>Q;
Q.push(); while(Q.size())
{
long long q = Q.front();
Q.pop(); if(q % s == )
return q; Q.push(q*);
Q.push(q*+);
} return -;
} int main()
{
long long s; while(scanf("%lld", &s), s != )
{
long long ans = BFS(s); printf("%lld\n", ans);
} return ;
}