第十四届蓝桥杯三月真题刷题训练——第 7 天

news2024/11/26 11:34:12

目录

第 1 题:三角回文数

问题描述

答案提交

运行限制

代码:

第 2 题:数数

问题描述

答案提交

运行限制

代码:

第 3 题:倍数问题_同余定理_分情况讨论

题目描述

输入描述

输出描述

输入输出样例

运行限制

代码:


第 1 题:三角回文数

问题描述

对于正整数 n, 如果存在正整数 k 使得 n=1+2+3+⋯+k=k(k+1)/2​, 则 n 称为三角数。例如, 66066 是一个三角数, 因为 66066=1+2+3+⋯+363 。

如果一个整数从左到右读出所有数位上的数字, 与从右到左读出所有数位 上的数字是一样的, 则称这个数为回文数。例如, 66066 是一个回文数, 8778 也是一个回文数。

如果一个整数 n 既是三角数又是回文数, 我们称它为三角回文数。例如 66066 是三角回文数。

请问, 第一个大于 20220514 的三角回文数是多少?

答案提交

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

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;

/**
 * @author yx
 * @date 2023-03-10 8:28
 */
public class day7 {
    static BufferedReader ins = new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in = new StreamTokenizer(ins);
    static PrintWriter out= new PrintWriter(System.out);

    public static void main(String[] args) {
        for (int i = 20220515 ; ; i++) {
            if(isHuiWen(i)&&isSanJ(i)){
                System.out.println(i);
                return;
            }
        }
    }
    static boolean isHuiWen(int n){
        char[] arr=(n+"").toCharArray();
        int l=0;
        int r=arr.length-1;
        while (l<=r){
            if(arr[l]!=arr[r]){
                return false;
            }
            l++;
            r--;
        }
        return true;
    }

    static boolean isSanJ(int n){
//        (k)*(k+1)=2n
//        直接取(k+1)*(k+1)=2n的k,能减少很多时间
        int k=(int) Math.sqrt(2*n)-1;
        while (k*(k+1)<=n*2){
            if(k*(k+1)==n*2){
                return true;
            }
            k++;
        }
        return false;
    }


}

第 2 题:数数

问题描述

任何一个大于 1 的正整数都能被分解为若干个质数相乘, 比如 28=2×2×7 被分解为了三个质数相乘。请问在区间 [2333333, 23333333] 中有多少个正整数 可以被分解为 12 个质数相乘?

答案提交

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

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.day7;

import java.util.ArrayList;

/**
 * @author yx
 * @date 2023-03-10 8:48
 */
public class 数数 {
    public static void main(String[] args) {
        int ans=0;
        for (int i = 2333333; i <= 23333333 ; i++) {
//            System.out.println(i);
            if(check(i)){
                ans++;
            }
        }
        System.out.println(ans);
    }
    static boolean check(int n){
        int ans=0;
        //只需要到sqrt(n)即可,因为如果有一个因数大于等于sqrt(n)
        // 那么必定有一个因数小于等于sqrt(n)
        for (int i = 2; i*i <= n ; i++) {
            while (n%i==0){
                /*
                此时的i是从2开始的,n除掉的一定是质数,并且先从最小的质数开始除
                如果有非质数因子k,那么该数的因子一定存在小于sqrt(k)的最小因子数j
                这个j如果是质数,那么一定会在前面被当作除数除掉
                从而保证了每一个因子都是质数,非质数的会被分解成质数因子给除掉
                 */
                n/=i;
                //更新数据
                ans++;
            }
        }
        /*
            比如最后的n为5的时候,n%i!=0
            但是5也是这里面的一个质数
            所以这个质因子5不能漏掉
             */
        if(n>1)ans++;
        if(ans==12){
            return true;
        }
        return false;
    }
}

第 3 题:倍数问题_同余定理_分情况讨论

题目描述

众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。数据保证一定有解。

输入描述

第一行包括 2 个正整数 n, K。

第二行 nn 个正整数,代表给定的 n 个数。

其中,1≤n ≤10^5, 1≤K ≤10^3,给定的 n 个数均不超过 10^8。

输出描述

输出一行一个整数代表所求的和。

输入输出样例

示例

输入

4 3
1 2 3 4

输出

9

运行限制

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

代码:

解析全在代码注释里,详细到每一行代码!!!!

 package 第十四届蓝桥杯三月真题刷题训练.day7;

import java.io.*;
import java.util.Arrays;
import java.util.Scanner;

/**
 * @author yx
 * @date 2023-03-10 10:16
 */
public class 倍数问题 {
    static PrintWriter out =new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    /**
     * 输入
     * in.nextToken()
     * int a= (int)in.nval;
     *
     * 输出
     * out.print();
     * out.flush();
     */
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        int k=scanner.nextInt();
        int[][] nums=new int[k][3];
        for (int i = 0; i < n; i++) {
            //因为需要三个数字,因此只需要维护每个余数对应的前三大的数即可
            int temp=scanner.nextInt();
            int yuShu=temp%k;
            //一定要保证降序排序这样有利于我们取大的数,即nums[yuShu][0]>nums[yuShu][1]>nums[yuShu][2]
            if(temp>nums[yuShu][0]){
                //如果temp比nums[yuShu][0]还大,那么temp就是nums[yuShu][0]
                //原来的nums[yuShu][0]变成第二大,原来的nums[yuShu][1]变成第三大
                //原来的nums[yuShu][2]被舍弃
                nums[yuShu][2]=nums[yuShu][1];
                nums[yuShu][1]=nums[yuShu][0];
                nums[yuShu][0]=temp;
            }else if(temp>nums[yuShu][1]){
                //如果此时的temp不是最大的,但是比nums[yuShu][1]大
                //那么原来的nums[yuShu][0]还是最大的
                //temp变成第二大的,即temp=nums[yuShu][1]
                //原来的nums[yuShu][1]就变成第三大的了
                //原来的nums[yuShu][2]被舍弃
                nums[yuShu][2]=nums[yuShu][1];
                nums[yuShu][1]=temp;
            }else if(temp>nums[yuShu][2]){
                //此时的temp小于前两大的数,大于nums[yuShu][2]
                //那么temp就代替nums[yuShu][2]
                //原来的nums[yuShu][2]被淘汰
                nums[yuShu][2]=temp;
            }
        }

        int x1,x2,x3;
        int ans=0;
        for (int i = 0; i < k; i++) {//遍历余数
            x1=nums[i][0];
            if(nums[i][0]!=0){
                for (int j = i; j < k ; j++) {
                    if(j==i){//若x1,x2余数相同都为i,则x2取余数i对应的第二大的数
                        x2=nums[j][1];
                    }else {//x1,x2余数不同的情况,x2取余数j对应的最大的数
                        x2=nums[j][0];
                    }
                    if(x2!=0){//余数为j,对应的数字存在的情况,找第三个余数z对应的数字
                        int z=(k-(i+j)%k)%k;//这个自己手写一些即可,不懂的地方评论区或私信问
                        if(i!=j){//余数i和余数j不相同
                            if(z==i){//x3和x1对应的余数相同,那么x3就取余数i对应的第二大的数
                                x3=nums[i][1];
                            }else if(z==j){//x3和x2对应的余数相同,那么x3就取余数j对应的第二大的数
                                x3=nums[j][1];
                            }else {//x3的余数既不等于i也不等于j的情况,那么x3就取余数z对应的最大的数
                                x3=nums[z][0];
                            }
                        }else {//x1和x2余数相同的情况
                            if(z==i){//x1和x2和x3余数相同的情况,x3取余数为i的第三大的数
                                x3=nums[i][2];
                            }else {//x3和x1和x2余数不同,那么x3取余数为z对应的最大的数字
                                x3=nums[z][0];
                            }
                        }
                        if(x3!=0){//余数为z且对应的数字存在的情况
                            ans=Math.max(ans,(x1+x2+x3));
                        }
                    }
                }
            }
        }
        System.out.println(ans);
    }
}

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

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

相关文章

Azure Portal 访问安全性增强

Azure Portal 访问安全性增强客户需求如何设置账号&#xff08;包括Admin&#xff09;定期修改密码&#xff0c;例如强制每90天必须修改密码如何设定账号密码的复杂性要求如何设定限制访问Azure Portal的源IP Address客户需求 为了增强访问Azure Portal的安全性&#xff0c;希…

JavaWeb--ListenerAjaxaxiosjson

Listener&Ajax&axios1 Listener1.1 概述1.2 分类1.3 代码演示2 Ajax2.1 概述2.1.1 作用2.1.2 同步和异步2.2 快速入门2.2.1 服务端实现2.2.2 客户端实现2.2.3 测试2.3 案例2.3.1 分析2.3.2 后端实现2.3.3 前端实现2.4 测试3 axios3.1 基本使用3.2 快速入门3.2.1 后端实…

32*4VKL128 LQFP44超低功耗/超低工作电流/抗干扰LCD液晶段码驱动IC/LCD驱动芯片(IC) 适用于激光/红外线测距仪

产品型号&#xff1a;VKL128产品品牌&#xff1a;永嘉微电/VINKA封装形式&#xff1a;LQFP44产品年份&#xff1a;新年份原厂&#xff0c;工程服务&#xff0c;技术支持&#xff01;VKL128概述:VKL128是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大128点&#xff08;3…

BSN-DDC基础网络详解(五):接入DDC网络(1)

BSN-DDC基础网络推出已经一年了&#xff0c;得到了行业应用方和广大开发者的高度认可。一年中BSN产品技术团队也在根据市场业务需求不断更新功能服务&#xff0c;我们将通过本系列文章为大家系统化介绍DDC网络的功能和使用&#xff0c;为感兴趣的朋友提供学习帮助。01支持DDC的…

PACS系统源码 PACS源码 三维重建PACS源码

一、系统概述&#xff1a; ​基于VC MSSQL开发的一套三甲医院医学影像PACS系统源码&#xff0c;集成3D影像后处理功能&#xff0c;包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。系统功能强大&#xff0c;代码…

pcx文件丢失原因和三种恢复方法

你是否在使用设备过程中出现pcx文件丢失现象呢&#xff1f;对于丢失的pcx文件你是如何恢复的呢&#xff1f;您可以尝试本文推荐的三种方法。关于pcx格式文件pcx是一种图像文件格式&#xff0c;是由ZSOFT公司开发的经过压缩、支持256种彩色的图像文件格式&#xff0c;pcx是在pc机…

无线网络设置

5.在广州分公司的内网创建无线的 SSID 为 Test-GZ_XX(XX 现场提供)&#xff0c;WLAN ID 为 1&#xff0c;AP-Group 为 GZ。在吉林分公司的内网中创建无线 SSID 为 Test-JL_XX(XX 现场提供)&#xff0c;WLAN ID 为 2&#xff0c;AP-Group 为 JL。在北京总部内网 中创建无线的 SS…

NoneBot2,基于Python的聊天机器人

NoneBot2&#xff0c;基于Python的聊天机器人第一步&#xff0c;配置python第二步&#xff0c;配置[go-cqhttp](https://github.com/Mrs4s/go-cqhttp)第三步&#xff0c;配置[NoneBot](https://61d3d9dbcadf413fd3238e89--nonebot2.netlify.app/)NoneBot2 是一个现代、跨平台、…

日读300篇文献的技巧

感觉自己看文章很慢&#xff0c;有时候也抓不住重点。 如果是英文文献的话&#xff0c;可能还要有点难度&#xff0c;毕竟英语渣渣还是需要有中文-》英文的转换过程。 最近在搞毕业论文的时候&#xff0c;发现了一个非常好玩的东西&#xff0c;大大提升了我看文章搞科研&#x…

idea maven:Unable to import maven project /idea maven工程加载报错

文章目录前言一、报错截图二、设置maven三、更换maven版本前言 idea工具中导入maven工程有时候会遇到Unable to import maven project的报错&#xff0c;并且pom依赖中的依赖包没有加载出来&#xff0c;这里总结一下我遇到的问题与解决方法。 系统环境&#xff1a;jdk 1.8 m…

Docker的可视化界面工具

Docker的可视化界面工具1. Portainer1.1 Introduction1.1.1 Official1.2 Download And Deploy1.3 Dashboard1.3.1 Dashboard2. Shipyard2.1 Introduction2.1.1 Character2.1.2 Official2.2 Download And Deploy2.2.1 脚本下载镜像2.2.2 执行脚本2.2.2 查看下载的镜像2.3 Dashbo…

【学习Docker(八)】Docker Canal的安装与卸载

座右铭&#xff1a;《坚持有效输出&#xff0c;创造价值无限》 最近想了解下canal&#xff0c;自行搭建并完成数据同步。经过了几天的踩坑之旅&#xff0c;今天终于搭建成功了。 环境&#xff1a;canalv1.1.5、MySQL8.0、JDK1.8 安装MySQL 创建存放目录 mkdir /docker-localm…

蓝桥杯单片机第九届省赛编程题(深夜学习——单片机)

一、根据硬件框图初始化好要使用的外设推测出外设类型&#xff1a;PCF8591、矩阵按键、AT24C02、LED、数码管&#xff08;定时器&#xff09;创建工程模板&#xff1a;&#xff08;1&#xff09;主函数&#xff1a;#ifndef PBBLIC_H #define PBBLIC_H#include <STC15F2K60S2…

SpaceNet 建筑物检测

SpaceNet 建筑物检测 该存储库提供了一些 python 脚本和 jupyter 笔记本来训练和评估从SpaceNet卫星图像中提取建筑物的卷积神经网络。 用法

直播回顾 | 聚焦科技自立自强,Bonree ONE 助力国产办公自动化平稳替代

3月5日&#xff0c;两会发布《政府工作报告》&#xff0c;强调科技政策要聚焦自立自强。 统计显示&#xff0c;2022年金融信创项目数同比增长300%&#xff0c;金融领域信创建设当前已进入发展爆发期&#xff0c;由国有大型银行逐渐向中小型银行、非银金融机构不断扩展。信创云…

全生命周期的云原生安全框架

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/129423036 一、全生命周期的云原生安全框架 如图所示&#xff1a; 二、框架说明 在上图中&#xff0c;我们从两个维度描述各个安全机制&#xff0c;横轴是开发和运营阶段&#xff0c;细分为编码、测试…

Grial UI Kit updated Crack

Grial UI Kit updated Crack 增加了“电影”流&#xff0c;该流由3个屏幕组成&#xff0c;呈现平滑过渡和动画的电影目录。 添加了新的栅格导航栏控件&#xff0c;允许您使任何页面导航栏透明&#xff0c;也可以从带有实心导航栏的页面导航到带有透明导航栏的网页&#xff0c;反…

指针数组 数组指针 常量指针 指针常量 函数指针 指针函数

一、指针常量与常量指针 1、指针常量 本质上是一个常量&#xff0c;常量的类型是指针&#xff0c;表示该常量是一个指针类型的常量。在指针常量中&#xff0c;指针本身的值是一个常量&#xff0c;不可以改变&#xff0c;始终指向同一个地址。在定义的时候&#xff0c;必须要初…

npm安装依赖和package.json版本不一致解决

npm或者cnpm 安装依赖&#xff0c;不会完全按照package.json中的版本号来&#xff0c;会有稍微的差异&#xff0c;这样的差异可能导致项目起不来&#xff0c;或者报错&#xff0c; 因为某些包只有特定的版本才能正常运行。 解决方案 npm提供了shrinkwrap命令来解决这个问题。 …

opencv-图像几何处理

缩放 缩放只是调整图像的大小。为此&#xff0c;opencv提供了一个cv2.resize()函数&#xff0c;可以手动指定图像大小&#xff0c;也可以指定缩放因子。你可以使用任意一种方法调整图像的大小&#xff1a; import cv2 from matplotlib import pyplot as pltlogo cv2.imread(…