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

每日c/c++题 备战蓝桥杯(求解三个数的最大公约数与最小公倍数)

求解三个数的最大公约数与最小公倍数(C/C++实现)

引言

在数学计算和编程问题中,求多个数的**最大公约数(GCD)最小公倍数(LCM)**是常见需求。本文将探讨如何高效求解三个数的GCD和LCM,并提供完整的C/C++代码实现。


基本概念

最大公约数(GCD)

两个或多个整数的最大公约数是能整除这些数的最大正整数。例如,12和18的GCD是6。

扩展到三个数
三个数a、b、c的GCD可通过分步计算:GCD(GCD(a, b), c)

最小公倍数(LCM)

两个或多个整数的最小公倍数是能被这些数整除的最小正整数。例如,4和6的LCM是12。

扩展到三个数
三个数的LCM可通过分步计算:LCM(LCM(a, b), c)


算法思路

  1. GCD算法:使用欧几里得算法(辗转相除法)。

    • 计算两个数的GCD:GCD(a, b) = GCD(b, a % b),直到余数为0。
    • 对三个数,先计算前两个数的GCD,再与第三个数求GCD。
  2. LCM算法:基于公式 LCM(a, b) = |a*b| / GCD(a, b)

    • 对三个数,先计算前两个数的LCM,再与第三个数求LCM。

代码实现(C++)

#include <iostream>
using namespace std;// 计算两个数的最大公约数
int gcd(int x,int y)
{int tem = x%y;while(x%y){x=y;y=tem;tem = x%y;}return y;
}// 计算三个数的最大公约数
int gcd_three(int a, int b, int c) {return gcd(gcd(a, b), c);
}// 计算两个数的最小公倍数
int lcm(int a, int b) {return abs(a * b) / gcd(a, b);
}// 计算三个数的最小公倍数
int lcm_three(int a, int b, int c) {return lcm(lcm(a, b), c);
}int main() {int a, b, c;cout << "请输入三个正整数:";cin >> a >> b >> c;cout << "最大公约数:" << gcd_three(a, b, c) << endl;cout << "最小公倍数:" << lcm_three(a, b, c) << endl;return 0;
}

输入输出示例

请输入三个正整数:12 18 24
最大公约数:6
最小公倍数:72

总结

  • 时间复杂度:欧几里得算法的时间复杂度为 O(log(min(a, b))),分步计算三个数的GCD/LCM仍保持高效。

  • 扩展性:此方法可推广至更多数的计算(如四数、五数)。

  • 注意事项

    输入应为正整数。

    计算a*b时可能溢出,实际应用中建议使用long long类型。

    通过分治策略和数学公式的结合,我们能够简洁高效地解决多数的GCD和LCM计算问题。

相关文章:

每日c/c++题 备战蓝桥杯(求解三个数的最大公约数与最小公倍数)

求解三个数的最大公约数与最小公倍数&#xff08;C/C实现&#xff09; 引言 在数学计算和编程问题中&#xff0c;求多个数的**最大公约数&#xff08;GCD&#xff09;和最小公倍数&#xff08;LCM&#xff09;**是常见需求。本文将探讨如何高效求解三个数的GCD和LCM&#xff…...

解决Win11耳机没有声音的问题

方法一&#xff1a;更新驱动程序&#xff08;有效&#xff09; 进入 “设置”&#xff08;快捷键&#xff1a;WinX&#xff09;&#xff0c;点击 “Windows 更新” → “高级选项” 点击 “可选更新” &#xff0c;然后点击 “驱动程序更新” 【注】&#xff1a;更新后可能会出…...

滤波电容的正负极线宽需要一致吗?

今天看到一个项目的滤波电容的正端采用铺铜处理增大过流能力&#xff0c;但是负极却仅仅打了两个地过孔&#xff0c;不仅产生疑问&#xff0c;这样做是否合理&#xff0c;滤波电容的正负极线宽需要一致吗&#xff1f; 搜寻资料的时候看到这样一个类似的问题&#xff1a; 这些人…...

使用 `pandas` 库来读取 Excel 文件,并实现六种算法的遍历计算

以下是一个满足你需求的 Python 程序示例。在这个示例中&#xff0c;我们假设已经有了处理数据的函数&#xff0c;并且生成的 Excel 文件中包含了观测数据和推算数据。我们将使用 pandas 库来读取 Excel 文件&#xff0c;并实现六种算法的遍历计算。 import pandas as pd# 模拟…...

【Linux】文件描述符访问Open、Read、Write

每个运行的程序被称为进程&#xff08;process&#xff09;&#xff0c;它有一些与之关联的文件描述符。我们可以通过这些文件描述符来访问打开的文件或者设备。 一、文件描述符 什么是文件描述符&#xff1f; 概念&#xff1a;文件描述符&#xff08;File Descriptor&#x…...

在 VS2022 中修复 Linux CMake 项目构建失败:从 Ninja 迁移到 Makefile

问题背景​​ 在使用 ​​Visual Studio 2022​​ 开发跨平台 C 项目时&#xff0c;许多开发者会选择通过 ​​WSL (Windows Subsystem for Linux)​​ 直接在本地调试 Linux 环境下的程序。然而&#xff0c;近期在配置一个 CMake 项目时&#xff0c;遇到了以下报错&#xff1…...

ctf-show-mics2

下载文件用zip解压&#xff0c;将文件修改为flp文件 新建虚拟机&#xff0c;把文件添加到软盘 再次打开虚拟机会显示flag flag&#xff1a;flag{ctfshow}...

STM32_USB

概述 本文是使用HAL库的USB驱动 因为官方cubeMX生成的hal库做组合设备时过于繁琐 所以这里使用某大神的插件,可以集成在cubeMX里自动生成组合设备 有小bug会覆盖生成文件里自己写的内容,所以生成一次后注意保存 插件安装 下载地址 https://github.com/alambe94/I-CUBE-USBD-Com…...

Java 基础-32-枚举-枚举的应用场景

在Java编程中&#xff0c;枚举&#xff08;Enum&#xff09;提供了一种强大的方式来定义一组固定的常量。它们不仅限于简单的用途&#xff0c;还可以包含构造函数、方法和字段等高级功能&#xff0c;使其适用于多种不同的应用场景。本文将探讨几种常见的使用枚举的场景&#xf…...

新潮透明液体水珠水滴失真故障扭曲折射特效海报字体标题设计ps样机动作素材 Bubble Photoshop Templates

只需单击几下即可创建引人注目的视觉效果&#xff01;您需要做的就是将您的文本或图像放入智能对象中并应用作。 包中包含&#xff1a; 15 个静态 Photoshop 模板&#xff08;PS 2019 及更高版本&#xff09; 01-05 垂直布局 &#xff08;22504000&#xff09;06-10 水平布局…...

学透Spring Boot — 017. 魔术师—Http消息转换器

本文是我的专栏《学透Spring Boot》的第17篇文章&#xff0c;了解更多请移步我的专栏&#xff1a; 学透 Spring Boot_postnull咖啡的博客-CSDN博客 目录 HTTP请求和响应 需求—新的Media Type 实现—新的Media Type 定义转换器 注册转换器 编写Controller 测试新的medi…...

stable diffusion 量化加速点

文章目录 一、导出为dynamic shape1)函数讲解(函数导出、输出检查)2)代码展示二、导出为static shape1)函数讲解(略)2)代码展示三、序列化为FP32测速1)测速2)代码四、序列化为FP16测速1)测速2)代码同上五、发现并解决解决CLIP FP16溢出,并测速1)如何找到溢出的算子…...

Xorg内存管理机制深度解析

Xorg内存管理机制深度解析 一、客户端资源生命周期管理 Xorg 采用 客户端绑定型资源管理 机制,所有资源(窗口、像素图、字体等)的生命周期与客户端连接状态强关联。 资源 ID 分配机制: • 每个资源由 32位标识符 表示,格式:0xBBCCDDEE ◦ BB:客户端 ID(ClientIndex)…...

第五期:深入理解 Spring Web MVC [特殊字符]( 前后端交互的综合性练习)

✨ 前言&#xff1a;从理解到实战&#xff0c;彻底掌握 Spring MVC 前后端交互 当我们学习了 Spring MVC 中的各种注解、参数绑定、请求方式、编码处理以及 Cookie/Session 操作之后&#xff0c;下一步就是 —— 动手实践&#xff01; 理论再多&#xff0c;不如亲自敲一次代码…...

ansible可视化自动化平台-semaphore

1、简介 Semaphore UI 是一个开源的CI/CD工具&#xff0c;专注于简化和自动化软件交付流程&#xff0c;可轻松管理和运行 Ansible playbook&#xff0c;提供了一个直观的 Web 用户界面&#xff08;UI&#xff09;&#xff0c;帮助DevOps团队轻松管理任务、部署和流水线。 官网…...

手撕LLM(二):从源码出发,探索LoRA加载、推理全流程

接上回接着说&#xff0c;前面我们通过分析源码&#xff0c;了解了大模型推理的详细流程&#xff0c;包括提示词从输入&#xff0c;到对话模版包装&#xff0c;到tokenID转换&#xff0c;到Embedding词向量转换&#xff1b;通过大模型推理&#xff0c;再将大模型输出进行最后一…...

数据库连接JDBC

概述 ✅概念 JDBC(JavaDataBaseConnectivityjava数据库连接)是⼀种⽤于执⾏SQL语句的JavaAPI&#xff0c;可以为多种关系型数据库提供 统⼀访问&#xff0c;它是由⼀组⽤Java语⾔编写的类和接⼝组成的。 本质 其实就是java官⽅提供的⼀套规范(接⼝)。⽤于帮助开发⼈员快速实现…...

VectorBT:使用PyTorch+Transformer训练和回测股票模型 进阶五

VectorBT&#xff1a;使用PyTorchTransformer训练和回测股票模型 进阶五 本方案基于PyTorch框架与Transformer模型&#xff0c;结合VectorBT回测引擎构建多股票量化交易系统&#xff0c;采用滑动窗口技术构建时序特征&#xff0c;通过自注意力机制捕捉市场规律预测收益率&#…...

DP Alt Mode​​ 与 ​​USB​​ 的关系

DP Alt Mode​​ 与 ​​USB​​ 的关系 1. 物理接口的统一&#xff1a;USB-C 是“万能插座” [USB-C接口物理结构] |-----------------------------------------------| | USB 3.0数据引脚 | DP Alt Mode视频引脚 | 电源引脚 | |-------------------------------------…...

C#“与AI的奇妙结合”

原文&#xff1a;C# 使用通义灵码 - AI 助力 Visual Studio 开发_w3cschool &#xff08;注意&#xff1a;本文章中并不存在任何广告&#xff0c;也不存在任何盈利内容&#xff09; C# 使用通义灵码 C# 作为一种功能强大且灵活多变的编程语言&#xff0c;被广泛应用于各个领…...

企业ITR流程设计与执行详细介绍【附全文阅读】

该方案聚焦企业 ITR 流程,适用于企业的服务管理人员、流程优化负责人、技术支持团队以及中高层管理者等。 ITR 流程的重要性:企业服务面临客户不满、管理者焦虑、服务人员无奈等挑战,缺乏完善的 ITR 流程会影响品牌形象、客户满意度和产品竞争力。ITR 流程能够保障客户满意,…...

Ubuntu 无密码热点(Soft AP)完整配置方案

适用于 Jetson、嵌入式 Linux、RDK 平台。目标&#xff1a;配置一个无密码热点&#xff08;Soft AP&#xff09;&#xff0c;供手机等设备直接连接。实现开机自动启动热点&#xff0c;也支持后续一键切换回 WiFi 客户端模式。 平台&#xff1a;Yahboom RDK X3&#xff08;Jetso…...

【力扣hot100题】(063)搜索二维矩阵

看到这题我就想到之前被我当作这题做的【力扣hot100题】&#xff08;020&#xff09;搜索二维矩阵Ⅱ 其实是完全不一样的两题&#xff0c;个人觉得这道题更简单也更考验基础&#xff0c;那道题思路更难想到但代码更好写。 两个二分查找结束&#xff0c;要注意的是第一个二分查…...

瑞萨RA4M2使用心得-KEIL5的第一次编译

目录 前言 环境&#xff1a; 开发板&#xff1a;RA-Eco-RA4M2-100PIN-V1.0 IDE&#xff1a;keil5.35 一、软件的下载 编辑瑞萨的芯片&#xff0c;除了keil5 外还需要一个软件&#xff1a;RASC 路径&#xff1a;Releases renesas/fsp (github.com) 向下找到&#xff1a; …...

玄机-apache日志分析

靶场任务 1、提交当天访问次数最多的IP&#xff0c;即黑客IP&#xff1a; 查看apache日志 apache访问日志的位置是&#xff1a;/var/log/apache2/access.log.1 匹配正则算法 首先先cat看看 发现地址都在第一行&#xff0c;直接匹配计算输出 cat access.log.1 |grep -Eo &…...

[C++]洛谷B2119 删除单词后缀

题目与解析 题干题目描述输入格式输出格式样例样例输入样例输出 答案解析食用提示AC代码AC代码详细解析头文件部分主程序8~12行代码 12行以后的代码 题干 题目描述 给定一个单词&#xff0c;如果该单词以 er、ly 或者 ing 后缀结尾&#xff0c;则删除该后缀&#xff08;题目保…...

Ubuntu远程连接Mysql数据库(图文详解)

Ubuntu远程连接Mysql数据库 1、版本2、检查有没有Mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.3 查看Mysql运行状态 3、卸载Mysql4、安装4.1 更新4.2 开始安装4.3 安装完后查看状态 5、登录5.1、使用5.2、查看数据库权限5.3 更新权限5.4 再次查看数据库权限5.5 添加新用…...

回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测

回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测 目录 回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【JCR一区级】Matlab实现NRBO-Transformer-GRU多变量回归预测&#xff0c;牛顿-拉夫逊算法优…...

leetcode122-买卖股票的最佳时机II

leetcode 122 思路 方法一的核心思想是简单的贪心策略。我们每天都看当前价格和下一个价格的差值。如果下一个价格高于当前价格&#xff08;即diff > 0&#xff09;&#xff0c;那么就认为当天可以买入并在第二天卖出&#xff0c;赚取利润。因此&#xff0c;方法一把所有…...

from PIL import Image 安装失败

正确安装 Pillow (PIL) # 通过 Conda 安装 conda install pillow -c conda-forge# 或通过 Pip 安装 pip install pillow验证安装 在 Python 中测试是否成功&#xff1a; from PIL import Image print(Image.__version__) # 应输出类似 "9.5.0" 的版本号常见问题说…...

DPFunc蛋白质功能预测模型复现报告

模型简介 模型的具体介绍见蛋白质功能预测论文阅读记录2025&#xff08;DPFunc、ProtCLIP&#xff09;_protein functions-CSDN博客 复现流程 仓库&#xff1a;CSUBioGroup/DPFunc 时间&#xff1a;2025.4.5 环境配置 python 3.9.21 & CUDA 11.6 Pytorch: 1.12.0 DG…...

在 Ubuntu24.04 LTS 上 Docker Compose 部署基于 Dify 重构二开的开源项目 Dify-Plus

一、安装环境信息说明 硬件资源&#xff08;GB 和 GiB 的主要区别在于它们的换算基数不同&#xff0c;GB 使用十进制&#xff0c;GiB 使用二进制&#xff0c;导致相同数值下 GiB 表示的容量略大于 GB&#xff1b;换算关系&#xff1a;1 GiB ≈ 1.07374 GB &#xff1b;1 GB ≈ …...

双系统ubuntu20.04不能外接显示器的解决办法

一&#xff0c;更换驱动 首先确定是不是英伟达显卡驱动&#xff0c;如果不是的话&#xff0c;设置里找到附加驱动&#xff0c;更改为NVIdia类型的驱动&#xff0c;更改完成之后重启 这里大部分电脑都可以了&#xff0c;如果不行 二、更改启动方式 重启之后进入BIOS设置&…...

高并发内存池:原理、设计与多线程性能优化实践

高并发内存池是一种专门为多线程环境设计的内存管理机制&#xff0c;其核心目标是通过优化内存分配和释放过程&#xff0c;解决传统内存分配器&#xff08;如malloc/free&#xff09;在高并发场景下的性能瓶颈&#xff0c;显著提升多线程程序的内存访问效率。 目录 一、核心设计…...

03.31-04.06 论文速递 聚焦具身智能、复杂场景渲染、电影级对话生成等五大前沿领域

&#x1f31f; 论文速递 | 2025.03.31-04.06 &#x1f4e2; 聚焦具身智能、复杂场景渲染、电影级对话生成等前沿领域 1️⃣ 具身智能体&#xff1a;从脑启发到安全协作系统 论文标题&#xff1a; Advances and Challenges in Foundation Agents: From Brain-Inspired Intellige…...

Django和Celery实现的异步任务案例

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 先决条件步骤1:安装依赖项步骤2:配置Celery2.1 创建`celery.py`2.2 更新 `__init__.py`步骤3:配置Django设置步骤4:定义Celery任务…...

DAY 38 leetcode 15--哈希表.三数之和

题号15 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 未去重版本 整体思路&#xff1a;先排序再双指针遍…...

Java项目之基于ssm的个性化旅游攻略定制系统(源码+文档)

项目简介 个性化旅游攻略定制系统实现了以下功能&#xff1a; 个性化旅游攻略定制系统能够实现对用户上传信息&#xff0c;旅游路线信息&#xff0c;景点项目信息&#xff0c;景点信息&#xff0c;标签分类信息等信息的管理。 &#x1f495;&#x1f495;作者&#xff1a;落落…...

链表和数组的效率

访问元素 • 数组&#xff1a;通过索引直接访问元素&#xff0c;时间复杂度为O(1)&#xff0c;速度很快。例如arr[5]可以立即访问到数组arr中索引为5的元素。 • 链表&#xff1a;需要从链表头开始逐个遍历节点&#xff0c;直到找到目标元素&#xff0c;平均时间复杂度为O(n)…...

经典回溯问题———组合的输出

题目如下 思路 代码如下...

WPS宏开发手册——附录

目录 系列文章7、附录 系列文章 使用、工程、模块介绍 JSA语法 JSA语法练习题 Excel常用Api Excel实战 常见问题 附录 7、附录 颜色序列&#xff1a;在excel中设置颜色&#xff0c;只能设置颜色序号&#xff0c;不能直接设置rgb颜色 1、黑色 (Black)…...

【leetcode100】买卖股票的最佳时机

1、题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你…...

uniapp小程序登录失效后操作失灵问题

一开始我在请求返回失效验证时做了登录失效处理然后用uni.switchTab跳转主页的逻辑&#xff0c;结果发现在一天后重新打开小程序或者其他登录挤掉登录验证时有概率导致整个页面失灵无法操作。 经过排查发现&#xff0c;在小程序跳转新页面的时候如果遇到**(过快还是过多&#…...

找树左下角的值(DFS 深度优先搜索)| LeetCode 513

✨ 题目描述 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 提示&#xff1a; 二叉树中至少有一个节点。 &#x1f4c4; 示例 示例 1 输入: root [2,1,3] 输出: 1示例 2 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7&#x1f5…...

【力扣hot100题】(060)分割回文串

每次需要判断回文串&#xff0c;这点比之前几题回溯题目复杂一些。 还有我怎么又多写了循环…… class Solution { public:vector<vector<string>> result;string s;bool palindromic(string s){for(int i0;i<s.size()/2;i) if(s[i]!s[s.size()-1-i]) return …...

中国钧瓷收藏市场现状和风险警示

一、数据权威性与综合维度 本榜单由钧瓷联合体、钧瓷频道及钧瓷数据库三方协同制作&#xff0c;通过10项规则综合评估匠人影响力&#xff0c;涵盖知名度、用户评价、平台指数等多元维度&#xff0c;避免单一指标&#xff08;如拍卖价格&#xff09;的片面性。榜单每月更新&…...

forms实现任务文档功能

说明&#xff1a; forms实现任务文档功能 效果图&#xff1a; step1:C:\Users\wangrusheng\RiderProjects\WinFormsApp26\WinFormsApp26\Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.IO; u…...

字符串的replace、replaceAll、split()方法

参考 字符串的replace、replaceAll、split()方法_字符串replace-CSDN博客...

Kotlin语言进阶:协程、Flow、Channel详解(二)

Kotlin语言进阶:协程、Flow、Channel详解(二) 一、Flow基础 1.1 什么是Flow Flow是Kotlin提供的用于处理异步数据流的解决方案,它建立在协程之上,具有以下特点: 冷流特性:只有在收集时才会开始发射数据背压处理:自动处理生产者和消费者速度不匹配的问题组合操作:提…...

VBA知识学习

文章目录 打开开发工具编写第一个VBA使用VBA调试器 VBA语法 打开开发工具 文件->选项->自定义功能区->开发工具 编写第一个VBA 点击开发工具 ->点击Visual Basic 选择sheet1->右键->插入->模块 Sub 第一个VBA程序()MsgBox "Hello World!&quo…...