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

最大公约数gcd和最小公倍数lcm

一、相关公式及其性质

文章只服务于竞赛,所以不会涉及证明。

辗转相除法:gcd(a, b) = gcd(b, a % b); 直到 b == 0,就可以知道上一层递归中的 a % b == 0,所以上一层的 b 就是答案,也就是这一层递归的 a

gcd(a, b) * lcm(a, b) = a * b

所以求最小公倍数就是 a * b / gcd(a, b)

二、例题

1、最大公约数

B3736 [信息与未来 2018] 最大公约数 - 洛谷

// https://www.luogu.com.cn/problem/B3736
#include <bits/stdc++.h>
using namespace std;int gcd(int a, int b)
{if(b == 0)return a;return gcd(b, a % b);
}int main()
{int a, b, c;cin >> a >> b >> c;cout << gcd(gcd(a, b), c);return 0;
}

2、小红的 gcd

登录—专业IT笔试面试备考平台_牛客网

// https://ac.nowcoder.com/acm/problem/275615
#include <bits/stdc++.h>
using namespace std;// 数据a实在太大,只能用string存,只要取模一次b就能用ll gcd解决问题
// 所以边读取a边取模b #define ll long longll ch(string s, ll b)
{ll tmp = 0;for(auto x : s){tmp = tmp * 10 + (x - '0');tmp %= b;}return tmp;
}ll gcd(ll a, ll b)
{if(b == 0)return a;return gcd(b, a % b);
}int main()
{string a;ll b;cin >> a >> b;ll tmp = ch(a, b);cout << gcd(tmp, b);return 0;
}

如果一个十进制的数太大太大,只能用 string 存,而要想得到这个数,操作就是 *10 + 对应数字

http://www.xdnf.cn/news/373681.html

相关文章:

  • `RotationTransition` 是 Flutter 中的一个动画组件,用于实现旋转动画效果
  • 跨境热销产品安全危机:一场召回事件背后的全球合规挑战
  • 提高工作效率的新选择[特殊字符]——Element Plus UI库
  • 基于小波神经网络(WNN)的回归预测模型【MATLAB】
  • 精品,第22章 Python3 数据类型与文件操作详解
  • Jmeter中的Json提取器如何使用?
  • 数据分析2
  • C.printf 函数基础
  • (51单片机)LCD显示红外遥控相关数字(Delay延时函数)(LCD1602教程)(Int0和Timer0外部中断教程)(IR红外遥控模块教程)
  • 2025数维杯数学建模A题完整参考论文(共36页)(含模型、可运行代码、数据)
  • `C_PiperInterface` 类接口功能列表
  • Shell编程之正则表达式与文本处理器
  • 数字果园管理系统的设计与实现(Tensorflow的害虫识别结合高德API的害虫定位与Websocket的在线聊天室)
  • springboot生成二维码到海报模板上
  • 【计算机视觉】OpenCV项目实战:基于OpenCV的图像分割技术深度解析与实践指南
  • Linux系统:虚拟文件系统与文件缓冲区(语言级内核级)
  • 深度解析 MySQL 与 Spring Boot 长耗时进程:从故障现象到根治方案(含 Tomcat 重启必要性分析)
  • 关于一些平时操作系统或者软件的步骤转载
  • 助力你的Neovim!轻松管理开发工具的魔法包管理器来了!
  • C/C++复习-- C语言初始基础
  • 详解多协议通信控制器
  • 养生:为健康生活添彩
  • Unreal 从入门到精通之VR常用操作
  • DataBinding与Kotlin优化视图绑定
  • 微调ModernBERT为大型语言模型打造高效“过滤器”
  • JMeter 中通过 WebSocket (WS) 协议发送和接收 Protocol Buffers (Proto) 消息
  • 学习黑客了解Python3的“HTTPServer“
  • Hive JOIN 优化策略详解
  • Windows CMD通过adb检查触摸屏Linux驱动是否被编译
  • 超详细fish-speech本地部署教程