找數字 【 DFS 】

題目:
給一個數 nn,讓你找出一個只由 0,1 組成的十進制數 m,要求這個正整數 m 可以被 n 整除。

輸入格式:
輸入一個整數 n (1≤n<200)。
輸出格式:
對於輸入整數 n的每一個值,輸出 m 的相應值,保證有一個數字長度小於 19 位的數字.如果有一個給定值 n 有多個解,其中任何一個都是可以接受的.
本題答案不唯一,符合要求的答案均正確
樣例輸入
2
樣例輸出
10

#include<bits/stdc++.h>
using namespace std;
int flag = 0;
void dfs(int n, long long  x){
  if(flag) return ;
  if(x > 1e18) return ;
  if(x % n == 0){
    printf("%lld\n",x);
    flag = 1;
    return ;
  }

    dfs(n, x * 10);
  	dfs(n,x * 10 + 1);
  
}

int main()
{
  
  int n;
  scanf("%d",&n);
  dfs(n,1);
  return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章