http://poj.org/problem?id=1426
大致题意:
给出一个整数n,(1 <= n <= 200)。求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成。
这儿有一个很好的解题报告:http://blog.youkuaiyun.com/lyy289065406/article/details/6647917
代码:
#include <iostream>
using namespace std;
int n;
__int64 que[99999999];
void bfs()
{
int head=1,tail=1;
que[tail++]=1;
while(head<tail)
{
__int64 now=que[head++];
if(now%n==0)
{
cout<<now<<endl;
return;
}
que[tail++]=now*10;
que[tail++]=now*10+1;
}
}
int main()
{
while(cin>>n,n!=0)
{
bfs();
}
return 0;
}