王道机试指南 例题9.2 Find The Multiple

题目:

题目大意:

算法与分析:

宽度优先算法。

代码:

#include <queue>
#include <iostream>
#include <cstdio>
using namespace std;

long long BFS(int n){
    queue<long long> q;
    q.push(1);
    while(q.empty()==0){
        long long tmp=q.front();
        if(tmp%n==0) return tmp;
        q.pop();
        q.push(tmp*10);
        q.push(tmp*10+1);
    }
    return -1;
}

int main(){
    int n;
    while(cin>>n && n!=0){
        printf("%lld\n",BFS(n));
    }
    return 0;
}

运行结果:

全部评论
膜拜大佬也
1 回复 分享
发布于 2023-02-13 12:57 天津
谢谢楼主的思路
1 回复 分享
发布于 2023-02-13 13:06 湖南

相关推荐

01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客企业服务