問題:
数値nnが与えられた場合、0,1のみで構成される10進数mを見つけ、この正の整数mをnで割り切れる必要があります。
入力形式:
整数nを入力します(1≤n<200)。
出力形式:
入力整数nの値ごとに、対応するmの値を出力し、19桁未満の長さの数値があることを確認します。指定された値nに対して複数の解がある場合は、いずれか1つでもかまいません。
この質問に対する答えは一意ではなく、要件を満たすすべての答えが正しいです。
サンプル入力
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;
}