描述
对于每个输入的数字(如:2),则要求 给出一个由1,0构成的十进制整数,且该整数为输入数字的某个倍数,且是满足该条件的最小数(如2对应的10)。
输入
数字n,n等于0时停止。
输出
n的一个满足条件的最小倍数。
输入样例
2
0
输出样例
10
#include <iostream>
#include <queue>
#include <cstdio>
using namespace std;
long long bfs(int n){
queue<long long> P,Q;
Q.push(1);
long long now;
while(!Q.empty()){
now = Q.front();
if(now%n==0) return now;
Q.push(now*10);
Q.push(now*10+1);
Q.pop();
}
}
int main()
{
int num;
while(scanf("%d",&num)!=EOF){
if(!num) break;
printf("%lld\n",bfs(num));
}
return 0;
}