题意:给一个数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; }