POJ 1426 Find The Multiple(简单深搜)

来源:互联网 发布:对象数组初始化 编辑:程序博客网 时间:2024/06/09 23:11

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

#include<cstdio>#include<iostream>#include<algorithm>#include<cmath>#include<cstring>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<<t<<endl;        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;}
0 0
原创粉丝点击