NOI-OJ 1.13 ID:11 回文素数

2023-11-11

NOI-OJ 1.13 ID:11 回文素数

总时间限制: 5000ms 内存限制: 65536kB
描述
一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121,1221,15651都是回文数。给定位数n,找出所有既是回文数又是素数的n位十进制数。(注:不考虑超过整型数范围的情况)。

输入
位数n,其中1<=n<=9。
输出
第一行输出满足条件的素数个数。
第二行按照从小到大的顺序输出所有满足条件的素数,两个数之间用一个空格区分。
样例输入

1

样例输出

4
2 3 5 7

关键点

  1. 分析过程
  • 回文素数的特点是偶数位数的数不是回文素数(特例:11)
  • 先求出回文数再求出素数更快,计算量少。
  • 镜像制造回文数,数据小。
  1. 步骤
  • 遍历n/2位的数,生成回文数
  • 判断是否为素数,存储数据

代码

int isPrime(int n){
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0)
            return 0;
    }
    return 1;
}

vector<int> v; // 存储回文素数

int main(){
    int n;
    scanf("%d", &n);
    if(n==1){ // 1位数
        cout << "4\n2 3 5 7";
    }else if(n==2){ // 2位数
        cout << "1\n11";
    }else if(n==3||n==5||n==7||n==9){// 奇数位数
        double d = pow(10, (n-1)/2); // 得到n位数对称轴前面的数(包括对称轴)
        int i = (int)d; // C++中直接转int,会舍弃小数点后面的数,所以用了两步。
        for(i;i<d*10;i++){ // 遍历n位数
            int sum=i;
            int ii=i;
            ii/=10;
            while(ii!=0){ // sum 生成的回文数
                sum = sum*10+ii%10;
                ii/=10;
            }

            if(sum%2!=0){ // sum的末位不是偶数,同时也表明首位不是偶数
                if(isPrime(sum)){ // 是否为素数
                    v.push_back(sum);
                }
            }
        }
        printf("%d\n", (int)v.size());
        for(int i=0;i<(int)v.size();i++){
            printf("%d ",v[i]);
        }
    }else{ // 偶数位数是不存在回文质数的,除了11。
        printf("0");
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NOI-OJ 1.13 ID:11 回文素数 的相关文章

  • 计算机是仿生学,一种基于人体仿生学的计算机键盘的制作方法

    本实用新型属于计算机键盘技术领域 具体涉及一种基于人体仿生学的计算机键盘 背景技术 键盘是最常用也是最主要的输入设备 通过键盘 可以将英文字母 数字和标点符号等输入到计算机中 从而向计算机发出命令和输入数据等 键盘 由一组按阵列方式装配在一
  • 什么是软件测试、生命周期、软件开发模型、测试模型

    目录 1 什么是软件测试 2 软件测试和软件软件开发的区别 3 软件测试 Testing 和软件调试 Debug 的区别 4 什么是需求 5 需求是测试人员开展软件测试工作的依据 6 测试人员如何深入了解需求 7 测试用例 Test Cas
  • mysql 导入超大sql文件

    mysql u root p 登录mysql命令 可以登陆mysql服务器使用source命令导入 会快很多 我这里导入500M 大概用了5分钟 1 liunx登陆mysql mysql u 用户名 p 数据库名 然后输入密码 登陆mysq
  • Blender 雕刻

    文章目录 简介 基本操作 进入雕刻 雕刻工作区 强度 笔刷 纹理 笔画 衰减 动态拓扑 动态拓扑属性 重构网格 物体数据属性重构网格 雕刻自带的重构网格 镜像 同一个模型的不同网格 对其中一个雕刻 不影响其他的网格 快捷键 笔刷 自由线 显
  • 知识图谱——机器大脑中的知识库

    Published by liuzy on July 6 2015 作者 刘知远 清华大学 整理 林颖 RPI 版权所有 转载请注明出处 知识就是力量 英 弗兰西斯 培根 1 什么是知识图谱 在互联网时代 搜索引擎是人们在线获取信息和知识的
  • 计算机2.0培训心得,信息2.0培训心得体会

    今年7月份学校召开了关于学校信息化教育的会议 由于刚接触 我们听得一头雾水 于是就在摸索中开始了我们的信息化2 0工程培训学习 由于我组的化学科目特殊性 除了选择基础的A1技术支持的学前分析和A3演示文稿设计与制作外 我们还选择了B6技术支
  • IDEA报错解决:Cannot resolve com.oracle:ojdbc7:12.1.0.2或‘com.oracle:ojdbc7:12.1.0.2‘ not found

    1 到oracle官网下载ojdbc7 jar 附博主的ojdbc7 jar包下载地址 也可进入我的资源中下载 存入本地 不要存入maven仓库 2 打开cmd 切换到ojdbc7 jar所在文件夹 3 执行命令mvn install in
  • Vue(五)——调试

    一 console输出到控制台 如果Vue项目中 使用了eslint loader 代码规范 空格 缩进 console等测试语句 的话 就没法使用console 一定需要使用console可以尝试关闭eslint loader 在vue
  • Spring 如何从 IoC 容器中获取对象?

    前情回顾 前面几篇文章主要分析了 Spring IoC 容器如何初始化 以及解析和注册我们定义的 bean 信息 其中 Spring 中的 IoC 容器 对 Spring 中的容器做了一个概述 Spring IoC 容器初始化 和 Spri
  • 碰到了version `GLIBC_2.27' not found错误

    碰到了version GLIBC 2 27 not found错误 我查了下 因为glibc是系统级底层软件 自己编译的可能会跟原来的不一致 会导致系统不兼容 结果我在 etc ld so conf里面添加了 opt glibc 2 27的
  • C++/C笔试面试题目大大的集合

    C C笔试面试题目大大的集合 2010 10 22 00 08 3742人阅读 评论 0 收藏 举报 面试 c string 编译器 null 设计模式 1 const 有什么用途 请至少说明两种 答 1 可以定义 const 常量 2 c
  • 基于PHP的简单微博系统

    一 项目介绍 基于PHP的简单微博系统 php mysql apache开发 适合新手练习 可搭建在phpstudy下 有完整的sql文件和配置文件 三分钟快速部署 二 主要功能 1 注册 登录微博 2 个人中心 个人信息修改 查看我的关注
  • 【官方文档】《暗黑世界GM管理后台系统》部署+功能说明

    欢迎来到9秒 www 9miao com 暗黑三国管理后台说明文档 一 功能描述 该后台共分为三大部分 服务器管理 单服数据统计和扶持账号管理 1 服务器管理 根据管理后台数据库中填写的服务器信息 后面会讲到如何填写要管理的服务器的信息到数
  • golang http请求时设置代理ip

    在http Client中自定义Transport 设置Proxy即可 目前网上存在很多代理ip网站 本人也写过一些代理ip网址的爬取 见 GitHub 如果需要代理验证 那么如下进行设置 否则直接设置为url Parse http inp
  • CSS设计指南(第3版)》

    CSS设计指南 第3版 基本信息 原书名 Stylin with CSS a designer s guide 作者 英 Charles Wyke Smith 译者 李松峰 丛书名 图灵程序设计丛书 出版社 人民邮电出版社 ISBN 978
  • ATL与COM之间的关系、ATL的特点与基本使用方法

    ATL Active Template Library活动模板库 是一种微软程序库 支持利用C 语言编写ASP代码以及其它ActiveX程序 通过活动模板库 可以建立COM组件 然后通过ASP页面中的脚本对COM对象进行调用 这种COM组件
  • [R语言]R包的安装&帮助获取

    本文主要参考 Paul Teetor R语言经典实例 一书 在R语言中 包含的包中有各种应用函数 1 install packages packagename 安装R包 library package name 载入包 对于base包可省略
  • CentOS7安装oracle19c

    教程 https zhuanlan zhihu com p 571737575 CentOS7安装oracle19c教程 https zhuanlan zhihu com p 571737575 一 准备工作 1创建 oracle 用户 以
  • 关于指针

    指针的一些基础知识 1 指针的定义 数据在内存中的地址也称为指针 如果一个变量存储了一份数据的指针 我们就称它为指针变量 在C语言中 允许用一个变量来存放指针 这种变量称为指针变量 指针变量的值就是某份数据的地址 这样的一份数据可以是数组

随机推荐

  • 利用docker部署TF深度学习模型(附件文件较大,并无上传。部署参考步骤即可)

    一 介绍 docker Docker 是一个开源的应用容器引擎 基于 Go 语言 并遵从 Apache2 0 协议开源 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级 可移植的容器中 然后发布到任何流行的 Linux 机器上
  • 预编译过程中的相关知识点

    1 文件包含顺序 在头文件中 1 包含自定义头文件 2 包含第三方库的头文件 3 包含标准库头文件 在源文件中 1 包含该源文件对应的头文件 2 包含自定义头文件 3 包含第三方库的头文件 4 包含标准库头文件
  • 【Python】pip安装opencv-python包失败与换清华源提速

    文章目录 出现的问题 解决的方法 换源 出现的问题 在Windows10系统中 在cmd中 或者在pycharm的Terminal中 输入pip install opencv python会出现如下报错 ERROR Exception Tr
  • Python:ImportError: DLL load failed:找不到指定的模块 解决方案

    解决方法 检查numpy scipy matplotlib scikit learn的版本是否更新到最新且符合当前Python版本 如果出现不是最新的版本 先卸载该版本 windows pip uninstall numpy 再去http
  • 2019下半年阿里面试失败总结

    结果预览 2年半第一次出去面试 也是第一次面试阿里 打击不小 收货也不少 最终倒在二面笔试题上 虽有不甘 但仍需收拾心情 继续努力 一面总结 在一面上 跟网上大多数的反馈相同 都是比较Java基础项 然后往深度问 我整理了下 因为我简历上写
  • springmvc <mvc:annotation-driven/><mvc:default-servlet-handler/>区别 ssm整合

    文章目录 概述 概念和核心 什么是MVC springmvc第一个程序搭建 先到依赖 idea搭建项目 eclipse搭建 在spirngmvc xml配置文件写上这个 web xml写上servlet配置 匹配优先级 流程和原理 执行流程
  • 一文解读flowable工作流

    flowable工作流的定义 流程 及项目使用 flowable工作流 1 flowable 1 1 定义 1 2 作用 1 3 流程 2 使用实例 2 1 引入pom依赖 2 2 yml文件 2 3 审批流程xml 2 4 引擎配置类 2
  • 【模板】二分

    文章目录 1 整数二分 1 1 寻找 x 或 x 的后继 1 2 寻找 x 或 x 的前驱 1 3 模板 1 4 解题步骤 2 实数二分 本文的二分模板来自 算法竞赛进阶指南 1 整数二分 对于整数域上的二分 需要注意终止边界 左右区间取舍
  • windows消息机制详解

    前言 windows是一个消息驱动的系统 windows的消息提供了应用程序之间 应用程序与windows 系统之间进行通信的手段 要想深入理解windows 消息机制的知识是必不可少的 基础 进程接收来自于鼠标 键盘等其他消息都是通过消息
  • [C/C++]函数的栈空间(避免栈空间溢出)

    个人主页 北 海 CSDN新晋作者 欢迎 点赞 评论 收藏 收录专栏 C C 希望作者的文章能对你有所帮助 有不足的地方请在评论区留言指正 大家一起学习交流 错误1 当数组的内存占用较大时 会引发异常 include
  • 手把手使用Micropython+合宙Esp32c3(驱动安装,为合宙Esp32c3安装Micropython固件库,代码上传到ESP32C3中)含Thonny和vscode两种方法

    文章目录 驱动安装 为合宙Esp32c3安装Micropython固件库 1 Micropython简介 2 Micropython解释器下载 Thonny解释器 VScode 3 ESP32C3固件库下载以及安装 固件库下载 固件库安装
  • dorado 产品简介

    dorado展现中间件是快速创建Rich Internet Application的表现层解决方案 dorado包含运行平台与开发工具 dorado可以广泛应用于各行业管理类web软件项目或产品中 dorado提高了Web应用的可用性 降低
  • 同步和异步的区别、例子

    一 同步 异步的区别 同步 是所有的操作都做完 才返回给用户结果 即写完数据库之后 在相应用户 用户体验不好 异步 不用等所有操作等做完 就相应用户请求 即先相应用户请求 然后慢慢去写数据库 用户体验较好 同步 同步的思想是 所有的操作都做
  • 《NoSQL精粹》摘要0-前言

    这个就是首页的摘要了 哈哈 当然 酱油不是这么打的 这样是要被鞭尸的 以下就是读 NoSQL精粹 的前言的摘要 当然咯 不是照抄照搬 所以有出入之处 还请指出 见谅 稳定性在数据存储领域一直颇受重视 因为企业的数据比程序存储的时间要长很多
  • bpmn-js起步

    通过本文逐步熟悉bpmn js 快速介绍 bpmn js是一个BPMN2 0渲染工具包和web建模器 使用JavaScript编写 在不需要后端服务器支持的前提下向现代浏览器内嵌入BPMN2 0流程图 这使得它很容易的嵌入到任何web应用中
  • 爬虫基础篇之Scrapy抓取京东

    虚拟环境 同一台服务器上不同的项目可能依赖的包不同版本 新版本默认覆盖旧版本 可能导致其他项目无法运行 通过虚拟环境 完全隔离各个项目各个版本的依赖包 实现运行环境互不影响 virtualenv pip install virtualenv
  • Citespace教程笔记

    1 Citespace分析和解读策略 课程连接 citespace教程 陈超美老师亲自教学 哔哩哔哩 bilibili 分析结果那些重要 那些次要 要从主到次地分析 2 Citespace软件界面简介 2 1 Citespace功能参数界面
  • java web和jsp页面的区别

    javaweb是使用java语言进行web系统开发 web系统开发 Java在web开发上处于领导地位 现在主流的是MVC的三层架构 而jsp就是页面表现层的首选 因为它出现的比较早 技术相对成熟和普及 这就是最为流行的J2EE技术 关系就
  • 最小二乘法详细推导过程

    转载自 http blog csdn net marsjohn article details 54911788 在数据的统计分析中 数据之间即变量x与Y之间的相关性研究非常重要 通过在直角坐标系中做散点图的方式我们会发现很多统计数据近似一
  • NOI-OJ 1.13 ID:11 回文素数

    NOI OJ 1 13 ID 11 回文素数 总时间限制 5000ms 内存限制 65536kB 描述 一个数如果从左往右读和从右往左读数字是相同的 则称这个数是回文数 如121 1221 15651都是回文数 给定位数n 找出所有既是回文