王道机试指南 例题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 湖南

相关推荐

神哥不得了:首先我就是在成都,成都的互联网格外的卷,如果是凭现在的简历的话很难找到大厂,建议再添加一个高质量的项目上去,另外专业技能的话最好是超过每一条的一半
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客企业服务