POJ 1426 Find The Multiple(简单深搜)

本题的题意:给出一个数,让你求出一个满足以下条件的最小的倍数,并把它输出。它的这个倍数只能由0和1组成。了解了题意你可能还是不太明白,下面附上代码助你了解一下。

#include
#include
#include
#include
#include
using namespace std;

int flag;
void DFS(unsigned long long int t,int n,int k)
{

    if(flag==1)
        return ;
    if(t%n==0)
    {
        flag=1;
        cout<return ;
    }
    if(k==19)
        return ;
        DFS(t*10,n,k+1);
        DFS(t*10+1,n,k+1);
    return;
}

int main()
{
    int n;
    while(cin>>n)
    {
        if(n==0)break;
        flag=0;
        DFS(1,n,0);
    }
    return 0;
}

你可能感兴趣的:(POJ,搜索)