蓝桥杯-超级质数

news2024/12/27 7:03:53

蓝桥杯-超级质数

    • 1、问题描述
    • 2、解题思路
    • 3、代码实现

1、问题描述

  如果一个质数 P 的每位数字都是质数, 而且每两个相邻的数字组成的两位 数是质数, 而且每三位相邻的数字组成的三位数是质数, 依次类推, 如果每相邻的 k 位数字组成的 k 位数都是质数, 则 P 称为超级质数。

  如果把超级质数 P 看成一个字符串, 则这个超级质数的每个子串都是质 数。

  例如, 53 是一个超级质数。

  请问, 最大的超级质数是多少?

答案提交

  这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

2、解题思路

这次用的方法感觉有点像暴力解法,我们直接将Integer类型转成String类型,然后对该字符串的每个字符进行遍历(只有质数才会进行遍历,否则直接跳过),这里需要遍历字符串的时候需要两层for循环,因为我们需要不断去截取字符串,并判断截取的字符串是否是质数,若每次截取下来的都是质数,则说明该数是超级质数,然后用一个临时变量保存下就行。

3、代码实现

先编写一个判断质数的函数

 public static boolean isPrime(int num){
        if (num==1)
            return false;
        for (int i = 2; i <=Math.sqrt(num); i++) {
            if(num%i==0)
                return false;
        }
        return true;
    }

主函数代码如下:

public static void main(String[] args) {
    int max=53;
    for (int i = max; i <Math.sqrt(Integer.MAX_VALUE); i++) {
        boolean flag=false;
        String s = String.valueOf(i);
        if(!isPrime(i)){    //不是质数的结束本次循环
            continue;
        }
        for (int j = 0; j < s.length(); j++) {
            for (int k =j; k < s.length(); k++) {
                if(k+1<=s.length()){
                    int temp=Integer.parseInt(s.substring(j,k+1));
                    if(isPrime(temp)){
                        flag=true;
                    }else{
                        flag=false; //只要有一个不满足条件,跳出最内层循环
                        break;
                    }
                }
            }
            if(!flag){    //跳出第二层循环
                break;
            }
        }
        if(flag){
            max=Math.max(max,i);
        }
    }
    System.out.println(max);
}

   运行结果:

image-20230226200354015

  代码解释:

  第一层for循环是我们需要遍历的数字,其实没有Integer.MAX_VALUE这么大,不超时就行。

  然后设置一个标志位=false,如果当前数字不是质数,直接结束本次循环。

   两次for循环是为了不断去截取不同长度并且相邻的字符串,然后去判断截取之后的数字是否为质数,若是设置flag=true,否则flag=false,用break跳出本次循环,跳出最内层的for循环之后,在判断flag是否为true,若是true,则需要将他的值和max比较,保留最大的超级质数,若flag=false,则继续跳出本层循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/386331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重型工业机械设备远程监控解决方案

随着企业的发展&#xff0c;各类机械设备日益增多&#xff0c;为了实现高效的管理和使用&#xff0c;保障安全生产&#xff0c;建立智能化、信息化的工业制造系统成为了必然趋势。 传统的机械设备管理大多采用人工方式&#xff0c;现场作业人员需要每天通过电话、或者E-mail等方…

利用反射实现通过读取配置文件对类进行实例化-课后程序(JAVA基础案例教程-黑马程序员编著-第十二章-课后作业)

【案例12-3】&#xff1a;利用反射实现通过读取配置文件对类进行实例化 【案例介绍】 1.案例描述 现在有一个项目&#xff0c;项目中创建了一个Person类&#xff0c;在Person类中定义了一个sleep()方法。在工程中还定义了一个Student类继承Person类&#xff0c;在Student类中…

项目管理PMP证书的含金量真的高吗?

含金量当然高的&#xff0c;特别是在项目管理这个领域&#xff0c;绝对是知名度最高的&#xff0c;行业内最受认可的相关证书&#xff0c;含金量等同于于MBA&#xff0c;那么&#xff0c;除去它本身专业知识价值&#xff0c;它的含金量高在哪里呢&#xff1f; &#xff08;含资…

linux离线状态下将视频mp4格式转换m3u8

因为业务需求&#xff0c;python文件生成的视频为MP4格式&#xff0c;无法在前端浏览器正常播放&#xff0c;需切换m3u8格式&#xff0c;但因为服务器是没有网络的&#xff0c;因袭需要在离线状态下进行完成。 1.离线安装ffmpeg 看网上许多教程&#xff0c;ffmpeg可完成视频格…

【工具】笔记软件测评(简单)

介绍 笔记软件测评 印象笔记 ── ❌开源、❌markdown&#xff08;不好用&#xff09;、❌本地存储 臭名昭著&#xff0c;被资本搞烂的理想。 notion ── ❌开源、❌本地存储、✔️数据导出&#xff1a;PDF、HTML、Markdown & CSV &#xff08;include subpages&#xf…

重回利润增长,涪陵榨菜为何能跑赢周期?

2022年消费市场持续低迷&#xff0c;疫情寒冬之下&#xff0c;不少食品快消企业均遭遇严重的业绩下滑&#xff0c;但一年里不断遭遇利空打击的“榨菜茅”涪陵榨菜&#xff0c;不仅安然躲过“酸菜劫”、走出“钠”争议&#xff0c;而且顺利将产品价格提起来&#xff0c;并在寒冬…

C++基础篇(一)-- 简单入门

C 语言是在优化 C 语言的基础上为支持面向对象的程序设计而研制的一个通用目的的程序设计语言。在后来的持续研究中&#xff0c;C 增加了许多新概念&#xff0c;例如虚函数、重载、继承、标准模板库、异常处理、命名空间等。 C 语言的特点主要表现在两个方面&#xff1a;全面兼…

CSS的背景版块知识

&#x1f60a;博主页面&#xff1a;鱿年年 &#x1f449;博主推荐专栏&#xff1a;《WEB前端》&#x1f448; ​&#x1f493;博主格言&#xff1a;追风赶月莫停留&#xff0c;平芜尽处是春山❤️ 目录 前言 一、背景颜色 二、背景图片 三、背景平铺 四、背景图片位置…

ATTCK v10版本战术介绍—持久化(二)

一、引言在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行战术、持久化战术&#xff08;一&#xff09;知识&#xff0c;本期我们为大家介绍ATT&CK 14项战术中持久化战术&#xff08;二&#xff09;涉及的6项子技术&#xff0c;后续会陆续介绍其他战术…

魔兽世界335 自动加入公会教程

最近遇到新人进游戏不能自动加入公会的问题&#xff0c;论坛找了好久也没有找到解决办法。自己摸索后发现是核心的问题&#xff0c;下面教程开始1.利用GM账号进游戏&#xff0c;分别创建LM、BL角色&#xff0c;利用GM命令创建公会举例 LM角色名字&#xff1a;暴风 BL角色名字&a…

开发手册——一、编程规约_4.OOP规约

这篇文章主要梳理了在java的实际开发过程中的编程规范问题。本篇文章主要借鉴于《阿里巴巴java开发手册终极版》 下面我们一起来看一下吧。 1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法&#xff0c;无谓增加编译器解析成 本&#xff0c;直接用类名来访…

聚观早报 |支付宝与阿里合作推出支付芯;多多视频DAU峰值破1.5亿

今日要闻&#xff1a;支付宝与阿里合作推出支付芯&#xff1b;保时捷中国召回Panamera系列汽车&#xff1b;「多多视频」DAU峰值破1.5亿&#xff1b;苏州立法禁止大数据“杀熟”&#xff1b;特斯拉投资者日首次开幕支付宝与阿里合作推出支付芯 3 月 2 日消息&#xff0c;支付宝…

taobao.item.sku.update( 更新SKU信息 )

&#xffe5;开放平台免费API必须用户授权 *更新一个sku的数据 *需要更新的sku通过属性properties进行匹配查找 *商品的数量和价格必须大于等于0 *sku记录会更新到指定的num_iid对应的商品中 *num_iid对应的商品必须属于当前的会话用户 公共参数 请求地址: HTTP地址 http://gw.…

【C++修炼之路】23.哈希封装unordered系列

每一个不曾起舞的日子都是对生命的辜负 哈希封装unordered系列前言一.封装的迭代器二.改良后的HashTable.h三.封装的UnorderedSet.h四.封装的UnorderedMap.h五.Test.cpp及测试结果前言 unordered_map、unordered_set与map、set的区别是unoedered系列无序&#xff0c;除此之外功…

MD(消息摘要)、MAC(消息认证码)、数字签名的区别

MD(消息摘要&#xff09;、MAC(消息认证码&#xff09;、数字签名的区别 1.MD(消息摘要&#xff09;-散列算法 摘要是哈希值&#xff0c;我们通过散列算法⽐如MD5算法就可以得到这个哈希值。摘要只是⽤于验证数据完整性和唯⼀性的哈希值&#xff0c;不管原始数据是什么样的&a…

【json代码diff效果展示】vue项目 手动实现高仿github的内容diff效果

文章目录1-1 vue-code-diff业务需求 &#xff1a; 思考&#xff1a; 对比两个json字符串&#xff0c;维护增删改的三个数组 遍历&#xff0c;进行三四五次if判断进入不同数组&#xff0c;渲染页面不对呀&#xff0c;数据展示&#xff0c;怎么根据json对应键展示字段呢&#xf…

Linux基础命令-gdisk使用GPT类型创建分区

文章目录 一 命令介绍 二 MBR和GPT的区别 MBR GPT 三 命令语法 四 基本参数 1 常用参数 2 操作菜单说明 五 参考实例 1 对磁盘设备进行分区 2 查看磁盘的所有分区表 命令总结 一 命令介绍 NAME gdisk - Interactive GUID partition table (GPT) manipulato…

VAE--part1

Variational Auto-Encoder, VAE__part1分布变换VAE慢谈VAE 初现分布标准化重参数技巧VAE的本质是什么&#xff1f;VAE的本质结构正态分布&#xff1f;变分在哪里参考博客仅做学习记录&#xff0c;侵删分布变换 VAE和GAN都是生成式模型&#xff0c;它们俩的目标基本一致&#x…

如何在 3dMax 中制作游戏中的战斧模型?

继续给大家分享3dMax教程&#xff1a;如何在3dsMax中制作战斧教程。 介绍 大家好&#xff01;今天想和大家分享的是用3ds Max制作一把战斧&#xff0c;分享一下制作过程中用到的一些技巧和技巧。这是一个比较基础的教程&#xff0c;包括建模、雕刻、pbr贴图。 概念 这把战斧…

如何利用站内推广和站外推广提高转化率?

在如今的网络时代&#xff0c;拥有一个好的网站是非常重要的。但是&#xff0c;光有一个好的网站是不够的&#xff0c;为了达到我们的目标&#xff0c;需要不断地提高网站的转化率。而在实现这个目标的过程中&#xff0c;站内推广和站外推广是两个非常关键的因素。 站内推广是…