蓝桥杯刷题——day4
蓝桥杯刷题——day4
- 题目一
- 题干
- 题目解析
- 代码
- 题目二
- 题干
- 题目解析
- 代码
题目一
题干
小蓝和朋友们在玩一个报数游戏。由于今年是2024 年,他们决定要从小到大轮流报出是20或24倍数的正整数。前10个被报出的数是:20,24,40,48,60,72,80,96,100,120。请问第202420242024个被报出的数是多少?
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只输出这个整数,填写多余的内容将无法得分。
题目链接:报数游戏
题目解析
这道题目其实很简单,我们最先的想法是设立一个计数器,然后一个一个的遍历,只要满足数字整除20或者整除24,那么计数器就+1,但是这个方法会耗费很长的时间,我们可以将20×24看作一个轮回,先计算20到24之间的能整除20或者整除24的个数times,然后用202420242024除以times得到商和余数,商则表示经过了几个轮回,而余数则表示是这个轮回的第几个数字,那么将两者相加,就表示了第202420242024个数是什么了,问题解决,下面是完整的代码:
代码
import java.util.ArrayList;
public class Main {public static void main(String[] args) {ArrayList<Long> list = new ArrayList<>();long times = 0;for (Long i = 1L; i <= 480; i++) {if (i % 20 == 0 || i % 24 == 0) {list.add(i);times++;}}Long a = 202420242024L;Long tmp1 = a / times;int tmp2 = (int) (a % times);System.out.println(list.get(tmp2 - 1) + 480L * tmp1);}
}
题目二
题干
给定一个数组,每次操作可以选择数组中任意两个相邻的元素x,y 并将其中的一个元素替换为gcd(x,y),其中gcd(x,y) 表示x 和y 的最大公约数。请问最少需要多少次操作才能让整个数组只含1。
输入:
输入的第一行包含一个整数n,表示数组长度。第二行包含n 个整数,相邻两个整数之间用一个空格分隔。
输出:
输出一行包含一个整数,表示最少操作次数。如果无论怎么操作都无法满足要求,输出-1。
示例一:
输入:
3
4 6 9
输出:
4
题目链接:最大公约数
题目解析
这道题目关键是如何找出一个最小子串,该最小子串能够实现数组中的最大公约数为 1,什么意思?如果我们把一个子串中的一个元素变为了1,那么我们就可以根据这个1把数组的其他元素都变成1,什么意思?我们下面的图:

5和4的最大公倍数是1,那么我们就可以把其中的一个数字变成1,那么其他的也可以根据这个1变成1,就像病毒扩散一样,因此我们只需要找到一个数组里的最短子串,并且该最短子串能够实现最大公倍数为1就能够完成,因此我们完整的思路是:
- 计算整个数组的 GCD。如果 GCD 不为 1,直接输出 -1。
- 寻找最短的子数组,其 GCD 为 1,记为长度L。
- 最小操作次数为:n−1+(L−1),因为:n−1是将所有元素通过邻近操作将本身变为1的次数。(L−1)是在将子数组( GCD 为 1)其中一个元素变为1的操作次数。
下面是完整代码:
代码
import java.util.Scanner;
public class Demo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//输入数组的长度int n = scanner.nextInt();//输入数组的内容int[] arr = new int[n];for (int i = 0; i < n; i++) {arr[i] = scanner.nextInt();}System.out.println(minOperations(n, arr));}private static int minOperations(int n, int[] arr) {//判断整体的GCDint overallGCD = gcdArray(arr);if (overallGCD != 1) {return -1;// 如果整体GCD不是1,无论怎么操作都无法满足需求}//寻找最短子数组,其GCD为1int minLength = Integer.MAX_VALUE;for (int i = 0; i < n; i++) {int currentGCD = arr[i];for (int j = i; j < n; j++) {currentGCD = gcd(currentGCD, arr[j]);if (currentGCD == 1) {minLength = Math.min(minLength, j - i + 1);}}}//如果没有找到任何子数组GCD为1if (minLength == Integer.MAX_VALUE) {return -1;}return (n - 1) + (minLength - 1);}private static int gcdArray(int[] arr) {int result = arr[0];for (int i = 1; i < arr.length; i++) {result = gcd(result,arr[i]);if (result == 0){return 1;}}return result;}private static int gcd(int a, int b) {//计算两个数的GCDwhile (b != 0) {int tmp = b;b = a % b;a = tmp;}return a;}
}
相关文章:
蓝桥杯刷题——day4
蓝桥杯刷题——day4 题目一题干题目解析代码 题目二题干题目解析代码 题目一 题干 小蓝和朋友们在玩一个报数游戏。由于今年是2024 年,他们决定要从小到大轮流报出是20或24倍数的正整数。前10个被报出的数是:20,24,40,48,60,72,80,96,100,120。请问第2…...
内网是如何访问到互联网(H3C源NAT)
H3C设备NAPT配置 直接打开29篇的拓扑,之前都配置好了 「模拟器、工具合集」复制整段内容 链接:https://docs.qq.com/sheet/DV0xxTmFDRFVoY1dQ?tab7ulgil 现在是出口路由器可以直接访问61.128.1.1,下面的终端访问不了,需要做NAPT源…...
源码分析之Openlayers中的Zoom缩放控件
概述 放大或缩小是地图中最基本的功能,本文主要介绍分析 Openlayers 中Zoom缩放控件的源码实现。 源码分析 Zoom控件继承Control类,关于Control类,可以参考这篇文章源码分析之Openlayers中的控件篇Control基类介绍 如果直接实例化Zoom类&…...
k8s的ConfigMap是什么, 为什么设计ConfigMap, 如何使用ConfigMap
ConfigMap简介, 为什么设计ConfigMap 在k8s中, ConfigMap是一种API对象, 用于将非机密的配置数据存储到键值对中。 Configmap作用是, 把配置数据从应用代码中分隔开, 让镜像和配置文件解耦,实现了镜像的可移植性。 举例: 我有一个Squid(正向代理)的Pod…...
fiddler设置抓取https,还抓取不到https如何解决?
一、清楚 C:\Users\Admin\AppData\Roaming\Microsoft\Crypto\RSA 目录下所有文件(首次安装fiddler请忽略) 二、清除电脑上的根证书,WINR快捷键,输入:certmgr.msc, 然后回车,查找所有fiddler证书…...
Python高性能web框架-FastApi教程:(1)创建一个简单的FastApi
(1)创建一个简单的FastApi 1. 导入必要的库 from fastapi import FastAPI import uvicornFastAPI 是一个用于构建现代、快速(高性能)的Web API的Python框架。uvicorn 是一个ASGI服务器,用于运行异步的Python Web应用…...
Django基础之模板
一.前言 前面我们讲了视图,我们今天来讲一下模板,模板其实也就是视图中render返回的html进行的渲染,然后展示到浏览器页面上去,那我们今天就来和大家来说一下模板的基本用法 二.寻找html模板 这个也就是我们前面说了的找html&a…...
RabbitMQ Work Queues (工作队列模式) 使用案例
Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:RabbitMQ 📚本系列文章为个人学…...
C#高级:Winform桌面开发中TreeView的基础例子
一、方案一:免递归使用树 namespace WinFormsApp1 {public partial class Form1 : Form{public Form1(){InitializeComponent();}/// <summary>/// 自定义树实体/// </summary>public class WinFormTree{/// <summary>/// 标签名称/// </summ…...
大模型的文件有哪些?
在大模型仓库(如Hugging Face)中,例如:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files,通常会发现以下几类文件: 模型权重文件:存储训练好的模型参数,是模型推理和微调…...
QT 国际化(翻译)
QT国际化(Internationalization,简称I18N)是指将一个软件应用程序的界面、文本、日期、数字等元素转化为不同的语言和文化习惯的过程。这使得软件能够在不同的国家和地区使用,并且可以根据用户的语言和地区提供本地化的使用体验。…...
C 进阶 — 指针的使用
C 进阶 — 指针的使用 主要内容 1、字符指针 2、数组指针 3、指针数组 4、数组传参和指针传参 5、函数指针 6、函数指针数组 7、指向函数指针数组的指针 8、 回调函数 9、指针和数组练习题 前节回顾 1、指针就是个变量,用来存放地址,地址唯一…...
【经验分享】容器云运维的知识点
最近忙于备考没关注,有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源,但我以交流、交换为主,笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟,为了避免更多人花没必要的钱,所以决定公…...
MFC学习笔记专栏开篇语
MFC,是一个英文简写,全称为 Microsoft Foundation Class Library,中文翻译为微软基础类库。它是微软开发的一套C类库,是面向对象的函数库。 微软开发它,是为了给程序员提供方便,减少程序员的工作量。如果没…...
电子科技大学《高级算法设计与分析》期末复习问题汇总(客观题-选择题、判断题)
电子科技大学《高级算法设计与分析》问题汇总_已知背包问题的动态规划算法时间复杂度为o(nw),其中n为物品数目,w为背包容量。请-CSDN博客 转载自上面这个链接,古希腊掌管成电专业课的神!!为了防止他的链接失效,自己也转存一份 &…...
GPTcelltype——scRNA-seq注释
#安装包 install.packages("openai") remotes::install_github("Winnie09/GPTCelltype") #填写API Sys.setenv(OPENAI_API_KEY your_openai_API_key) #加载包 #Load packages library(GPTCelltype) library(openai) #准备文件 #Assume you have already r…...
AI与大数据的深度结合:驱动决策的革命性力量
引言:数字时代的决策挑战 在这个信息爆炸的数字时代,数据早已渗透到我们生活的方方面面。全球每天产生的数据量呈指数级增长,无论是用户的消费行为、设备的运行状态,还是社会热点的实时动态,这些信息的规模和复杂性前所…...
Java多线程与线程池技术详解(九)
面对苦难的态度:《病隙碎笔》“不断的苦难才是不断地需要信心的原因,这是信心的原则,不可稍有更动。” 孤独与心灵的成长:《我与地坛》“孤独的心必是充盈的心,充盈得要流溢出来要冲涌出去,便渴望有人呼应他…...
【常考前端面试题总结】---2025
React fiber架构 1.为什么会出现 React fiber 架构? React 15 Stack Reconciler 是通过递归更新子组件 。由于递归执行,所以更新一旦开始,中途就无法中断。当层级很深时,递归更新时间超过了 16ms,用户交互就会卡顿。对于特别庞…...
什么是大语言模型(LLM)
1. 什么是大语言模型(LLM)? LLM 是一种基础模型(Foundation Model)的实例。 基础模型的特点: 使用大量未标注的自监督数据进行预训练。通过学习数据中的模式,生成具有普适性和可适应性的输出…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
