POJ - 1426 Find The Multiple
#include<cstdio>
int n,f;
void dfs(long long m,int step)
{
if(f||step>18) return;
if(m%n==0)
{
printf("%lld\n",m);
f=1;
}
dfs(m*10,step+1);
dfs(m*10+1,step+1);
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
if(n==0) break;
f=0;
dfs(1,0);
}
return 0;
}