#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 5;
int N;
int vis[maxn];
struct Node{
string s;
int a; // 余数
};
string bfs(){
queue<Node> q;
q.push({"1",1%N});
while(!q.empty()){
Node cur = q.front();
q.pop();
if(cur.a == 0){
return cur.s;
}
if(vis[cur.a]) continue;
vis[cur.a] = 1;
q.push({cur.s + '0',cur.a * 10 % N});
q.push({cur.s + '1',(cur.a * 10 + 1) % N});
}
}
int main()
{
cin>>N;
cout<<bfs();
}
01组成的N的倍数
最新推荐文章于 2024-09-04 21:39:45 发布