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

相关推荐

就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
冰皮月饼_FLORRIEEE:你是准备投产品嘛?可以重新整理一下实习的bulletpoint,侧重描述你的工作所带来的结果收益,不要只写泛泛的内容(比如改写通过xx数据分析,提升xx),产品的价值并不在处理和分析数据的过程
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客企业服务