1. 程式人生 > >Find The Multiple

Find The Multiple

sig name nbsp algorithm amp ret str main unsigned

題意:給定一個n找十進制只包含0 1 並且為n的倍數的數,註意數據範圍就可以了,dfs不難理解

代碼如下:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
typedef unsigned long long ll;
bool vis;
void dfs(ll x,int n,int k)
{
    if(vis)
        return ;
    if(x%n==0)
       {    vis
=true; printf("%llu\n",x);//無符號longnlong輸出用llu,我用lld答案錯誤了 return ; } if(k==19) return ; dfs(x*10,n,k+1); dfs(x*10+1,n,k+1); } int main() { int m; while(scanf("%d",&m),m!=0) { vis=false; dfs(1,m,0); } }

Find The Multiple