当前位置: 首页 > article >正文

AcWing 4520:质数 ← BFS

【题目来源】
https://www.acwing.com/problem/content/4523/

【题目描述】
给定一个正整数 X,请你在 X 后面添加若干位数字(至少添加一位数字;添加的数不能有
前导0),使得结果为质数,在这个前提下所得的结果应尽量小。

【输入格式】
第一行包含一个整数 T,表示共有 T 组测试数据。
每组数据占一行,包含一个整数 X。

【输出格式】
每组数据输出一行结果,一个整数,表示所得的满足条件的最小质数。

【数据范围】
1≤T≤100,
1≤X≤100。

【输入样例】
1
1

【输出样例】
11

【算法代码】

#include <bits/stdc++.h>
using namespace std;

bool flag;

bool is_prime(int x) {
    for(int i=2; i*i<=x; i++) {
        if(x%i==0) return false;
    }
    return true;
}

void bfs(int x) {
    queue<int> q;
    for(int i=1; i<=9; i++) {
        q.push(x*10+i);
    }

    while(!flag) {
        int t=q.front();
        q.pop();
        if(is_prime(t)) {
            flag=true;
            cout<<t<<endl;
        }
        for(int i=1; i<=9; i++) {
            q.push(t*10+i);
        }
    }
}

int main() {
    int T;
    cin>>T;
    while(T--) {
        int x;
        cin>>x;

        flag=false;
        bfs(x);
    }
    return 0;
}


/*
in:
1
1

out:
11
*/



【参考文献】
https://www.acwing.com/solution/content/126885/
https://www.acwing.com/solution/content/126522/



 


http://www.kler.cn/a/132690.html

相关文章:

  • 【分布式技术】分布式缓存技术-旁路缓存模式(Cache Aside Pattern)
  • Http常⻅见请求/响应头content-type内容类型讲解(笔记)
  • Lua资料
  • Flume 单机与集群部署详细教程
  • 算法日记 26-27day 贪心算法
  • 【Node.js】使用 Node.js 需要了解多少 JavaScript?
  • Vue watch属性
  • C语言之for while语句详解
  • 数据库表字段以表格形式写入Word
  • 交换两个变量的值
  • [单片机课程设计报告汇总] 单片机设计报告常用硬件元器件描述
  • Egress Gateway
  • 便利工具分享:一个proto文件的便利使用工具
  • 媒体行业的3D建模:在影视中创造特效纹理
  • workman使用手册1.0
  • linux查看资源占用情况常用命令
  • ssh 免密码登录
  • SpringBoot-集成Kafka详解
  • 2023年中职“网络安全“—JavaScript安全绕过
  • 【智能家居项目】FreeRTOS版本——多任务系统中使用DHT11 | 获取SNTP服务器时间 | 重新设计功能框架
  • 小程序实现登录持久化
  • C# IEnumerable<T>介绍
  • 编写支持灵活过滤的列表接口以解析前端过滤表达式
  • 近几天接触的自动化框架,支持Android、Web和Windows
  • CronExpression
  • pm2使用