题意:给一个数n,然后寻找一个十进制数m,但是m只有0和1,随意找到一个m输出即可。
思想:m不会很大,unsigned long long int即可,DFS和BFS都好。
#include<stdio.h>
int n;
unsigned long long int ans;
bool find_it;
void DFS(unsigned long long int x,int k){
if(k >= 20) return;
if(x % n == 0){
ans = x;
find_it = true;
return;
}
else{
DFS(x * 10,k + 1);
if(find_it) return;
DFS(x * 10 + 1,k + 1);
if(find_it) return;
}
}
int main()
{
while(~scanf("%d",&n) && n){
find_it = false;
DFS(1,1);
printf("%lld\n",ans);
}
return 0;
}