没什么好说的 从1开始进行广搜,因为只能包涵0和1,所以下一次需要搜索的值为next=now*10 和 next=now*10+1,每次判断一下就可以了,但是我一直不太明白我的代码为什么C++提交会错,G++则正确。
#include<cstdio>
#include<stdio.h>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#define INF 0x3f3f3f3f
#define MAX 1005 using namespace std; int n; void BFS()
{
queue<long long>Q;
long long num;
Q.push(); while(!Q.empty())
{
num=Q.front();
Q.pop(); if(num%n==)
{
printf("%lld\n",num);
return;
}
Q.push(num*);
Q.push(num*+);
}
} int main()
{
while(scanf("%d",&n),n)
{
BFS();
} return ;
}