POJ1426-Find The Multiple(DFS)
给出一个整数n,(1 <= n <= 200)。求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成。
#include <iostream> using namespace std; int N,flag; void DFS(int m,long long n) { if(m==19) return; if(flag) return; if(n%N==0) { flag=1; cout<<n<<endl; return; } DFS(m+1,n*10); DFS(m+1,n*10+1); } int main() { ios::sync_with_stdio(false); while(cin>>N&&N!=0) { flag=0; DFS(0,1); } return 0; }