最大公约数与最小公倍数 -- 3种计算方法详解

2023-11-15

目录

❤️1.穷举法:

最大公约数:

思路:

最小公倍数:

思路:

❤️2.辗转相除法:

最大公约数与最小公倍数:

最大公约数思路:

最小公倍数思路:(公式)

❤️3.特殊方法:

最大公约数:(相减法:)

思路:

最小公倍数:(叠乘法:)

思路:

总结:


❤️1.穷举法:

最大公约数:

思路:

 假设两个数字a和b,比较出更小的数字赋值给变量min,遍历1min的整数,找到所有能共同被a和b整除的数字,其中数值最大的便是所求最大公约数。

//穷举法
#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d",&a,&b);
	int min = (a < b ? a : b);
	while (a % min != 0 || b % min != 0)//如果不能同时整除
	{
		min--;
	}
	printf("%d",min);
	return 0;
}

最小公倍数:

思路:

 已知两个数的最小公倍数大于等于两个数的最大值,所以可以先求出两个数的较大值max,用max分别试除两个数,如果能整除,max即为两个数的最小公倍数;不能整除,让max=max+1直到找到最小公倍数为止。

//穷举法
#include<stdio.h>
int main()
{
	int x = 0;
	int y = 0;
	scanf("%d %d",&x,&y);
	int max = (x > y ? x : y);//取最大值
	while (max%x != 0 || max%y!= 0)//如果不能同时整除
	{
		max++;//每次增加1
	}
	printf("%d",max);
	return 0;
}

❤️2.辗转相除法:

最大公约数与最小公倍数:

最大公约数思路:

 假设两个数字a和b,求两个数字相除的余数c=a%b,如果余数为0,则b为最大公约数。如果b不为零,a=b,b=c,继续循环计算。

最小公倍数思路:(公式)

 两个数的最小公倍数数等于两个数的乘积除以两个数的最大公约数。即:x,y的最小公倍数 min(公倍数)=x*y÷max(公约数)

//辗转相除法
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int z = a * b;
	//求最大公约数:
	int c = 0;
	while (a % b != 0)
	{
		c = a % b;
		a = b;
		b = c;
	}
	printf("最大公约数为:%d\n", b);
	//求最小公倍数:
	int min = z / b;
	printf("最小公倍数:%d\n", min);
	return 0;
}

❤️3.特殊方法:

最大公约数:(相减法:)

思路:

假设两个数字a和b,如果a>b,则a=a-b;如果b>a,则b=b-a。一直循环计算直到a=b,则此时a、b的值即为所求最大公约数。

//相减法
#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d",&a,&b);
	while (a != b)//直到两个数相等
	{
		if (a > b)
		{
			a = a- b;
		}
		else
		{
			b = b - a;
		}
	}
	printf("%d",a);
	return 0;
}

最小公倍数:(叠乘法:)

思路:

 已知两个数的公倍数一定与这两个数存在倍数关系,那么求解最小公倍数我们就可以将其中一个数依次扩大1倍、2倍、3倍……直到出现第一个扩大n倍的数可以同时整除这两个数,这个数就是最小公倍数。

//迭乘法
#include<stdio.h>
int main()
{
	int x = 0;
	int y = 0;
	scanf("%d %d",&x,&y);
	int i = 1;
	while (x * i %y != 0)
	{
		i++;
	}
	printf("%d",x*i);
	return 0;
}

总结:

计算最大公约数与最小公倍数的时候,优先推荐辗转相除法与两种特殊方法,效率高!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最大公约数与最小公倍数 -- 3种计算方法详解 的相关文章

  • 将集合绑定到自定义控件属性

    我没有运气尝试将数据集合绑定到我的自定义控件的属性 我已经实现了该控件的字符串属性的机制 在此处提供了一些帮助 并期望集合类型同样简单 但是我无法让它再次工作 这是我的自定义控件视图
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 为什么这个没有特殊字符的正则表达式会匹配更长的字符串?

    我正在使用此方法来尝试查找匹配项 例如 Regex Match A2 TS OIL TS OIL RegexOptions IgnoreCase Success 我得到了真实的结果 我很困惑 我认为这应该返回 false 因为模式中没有特殊
  • 为什么 set_symmetry_difference 无法与比较器一起使用?

    Example program include
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 是否有相当于 Clang/LLVM 的 .spec 文件,在哪里可以找到参考?

    The gcc驱动程序可以配置为使用特定的链接器 特定的选项和其他细节 例如覆盖系统头 specs files 当前 截至撰写本文时 GCC 版本 4 9 0 的手册此处描述了规范文件 https gcc gnu org onlinedoc
  • 如何分析组合的 python 和 c 代码

    我有一个由多个 python 脚本组成的应用程序 其中一些脚本正在调用 C 代码 该应用程序现在的运行速度比以前慢得多 因此我想对其进行分析以查看问题所在 是否有工具 软件包或只是一种分析此类应用程序的方法 有一个工具可以将 python
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 在 EnvDTE 中调试时捕获 VS 局部变量

    是否可以使用 EnvDTE 进行 vsix Visual Studio 扩展来捕获本地和调试窗口使用的调试数据 或者可以通过其他方法吗 我想创建一个自定义的本地窗口 我们可以修改它以根据需要显示一些较重的内容 而无需为高级用户牺牲原始的本地
  • cout 和字符串连接

    我刚刚复习了我的 C 我尝试这样做 include
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • C++0x中disable_if在哪里?

    Boost 两者都有enable if and disable if 但 C 0x 似乎缺少后者 为什么它被排除在外 C 0x 中是否有元编程工具允许我构建disable if按照enable if 哦 我刚刚注意到std enable i
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • Oracle的基本数据类型总结

    1 字符类型 CHAR 一个定长字符串 当位数不足自动用空格填充来达到其最大长度 如非NULL的CHAR 12 总是包含12字节信息 CHAR字段最多可以存储2 000字节的信息 VARCHAR2 这是一个变长字符串 与CHAR 类型不同
  • JavaScript WebGL 三维相关概念

    引子 在 JavaScript WebGL 矩阵之后 发现在实现三维效果之前还有一些概念需要理解 就去查了下资料 按照自己的习惯整合了一下 Origin My GitHub 齐次坐标 三维坐标理论上三个分量就够了 但在看相关程序的时候 发现
  • linux spi 设备节点 读写

    本文记录spi设备节点的操作方法 SPI总线设备文件名通常为 dev spidevN P N 0 1 2 P 0 1 2 其中N表示第几路SPI总线 而P表示在该路SPI总线中使用哪个CS信号线 参考链接 http www wzaobao
  • 【深度解析→博文总结】李宏毅机器学习2023作业04Self-attention(Speaker Identification)

    文章目录 系列文章 简要说明 视频分享 作业详情 调参记录 Simple Baseline 0 66025 Medium Baseline 0 81750 Stong Baseline 0 88500 Boss Baseline 0 931
  • uni-app项目中实现录音管理器(recorderManager)

    项目场景 通过微信小程序进行录音上传到服务器端进行分析诊断 得出设备发生故障的原因 问题描述 使用uni app实现声音的采集以及回放和上传等功能 并且用户可以自定义录制时长 录制时长有上限和下限 效果展示 原因分析 uni app 官网中
  • 多案分库分表带来的问题-跨库关联查询

    比如查询在合同信息的时候要关联客户数据 由于是合同数据和客户数据是在不同的数据库 那么我们肯定不能直接使用join 的这种方式去做关联查询 我们有几种主要的解决方案 1 字段冗余 比如我们查询合同库的合同表的时候需要关联客户库的客户表 我们
  • MPQ8633性能指标测试与调测分享

    目录 基于MPQ8633A测试分析 1 开关电源的三种基本拓扑结构 1 1 buck电路的基本拓扑以及原理 2 CCM DCM BCM 概论 2 1 PWM PFM PSM三种控制方法的优缺点 2 2 DCDC BUCK各种模式 2 3 C
  • 使用easypoi模板方法导出excel

    系列文章目录 一 Java使用Apache POI导出excel 二 Apache POI 操作Excel常用方法 三 Apache poi 拆分单元格并赋值 四 使用easypoi模板方法导出excel 五 Apache poi给exce
  • Dynamics 365 多选字段

    Dynamics 365 多选字段 数据库操作 C 后台操作 JS 扩展 JS string 转 int数组 数据库操作 update tablebase set field 1 对应选项值多个逗号隔开 1 C 后台操作
  • Testng学习笔记

    TestNG设计涵盖所有类型的测试 单元 功能 端到端 集成等 它需要JDK5或更高的JDK版本 TestNG是一个开源自动化测试框架 其灵感来自JUnit和NUnit的 TestNG环境设置 配置安装 TestNG是一个Java的框架 所
  • 在浏览器地址栏输入一个网址,从敲下回车键,到页面完全加载完毕,中间都发生了什么?

    1 如果地址栏中输入的是一个域名 浏览器会先使用自己的DNS缓存进行域名解析 转为IP地址 如果缓存中不存在 则会请求使用上层DNS 操作系统的DNS 操作系统会先查询本地HOST文件 如果HOST文件中不存在则会使用网络设置的DNS进行域
  • 关于 Q值

    先从大的方面来讲 从系统 从能量的角度来讲 Q值 描述任何可储能器件的性能 比如LC振荡回路 激光谐振腔 FP标准具 即Q 系统内能量 损耗功率 可见 Q值是储能器件受 振 荡驱动力和阻尼力的矛盾作用的结果 Q值越高 表示阻尼越小 当Q值
  • unity ugui序列帧动画

    使用unity自带的动画功能 1 使用unity自带的动画功能 2 在脚本中不停切换一个UI的图片以实现动画效果 1 使用unity自带的动画功能 2 在脚本中不停切换一个UI的图片以实现动画效果 using UnityEngine usi
  • 【配电网故障重构SOP】基于二阶锥松弛的加光伏风机储能进行的配电网故障处理和重构【考虑最优潮流】(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 电力系统最优潮流 综合考虑电网安全性和经济
  • c++哈希表-map&set (无序)

    简述 无序的map set 称为unordered map unordered set 采用迭代器遍历出来的元素是无序的 这是因此底层实现数据结构为哈希表 1 哈希表不同于红黑树 哈希表它的查找效率是o 1 一个常数的效率 虽然红黑树是o
  • 使用的chorm插件 留存自用

    使用的chorm插件 留存自用 保存一下常用的插件 省的以后忘记了 啊哈哈 掘金插件 每次打开浏览器都得看上几眼 JSON handle 在线json解析 不解释了 好用 PostMan 模拟api的网络请求 The Great Suspe
  • 浅谈ThreadLocal

    目录 一 ThreadLocal原理 二 TheadLocal特性 二 TheadLocal使用场景 一 ThreadLocal原理 1 每个Thread对象都含有一个ThreadLocalMap ThreadLocalMap是由Entry
  • node.js错误 --> node-pre-gyp install --fallback-to-build

    错误 node pre gyp install fallback to build 问题描述 在安装ghost博客的时候需要使用node js 但是在执行sudo npm install production的时候报了这个错误 接着百度 看
  • 饥饿和公平

    转自 饥饿和公平 下文笔者将讲述java多线程中的 饥饿与公平 的相关知识 如下所示 Java中饥饿与公平的概念 当一个线程因为CPU时间全部被其他线程获取而无法获取CPU运行时间时 我们将这种状态称之为 饥饿 此时此线程由于 饥饿 而无法
  • 最大公约数与最小公倍数 -- 3种计算方法详解

    目录 1 穷举法 最大公约数 思路 最小公倍数 思路 2 辗转相除法 最大公约数与最小公倍数 最大公约数思路 最小公倍数思路 公式 3 特殊方法 最大公约数 相减法 思路 最小公倍数 叠乘法 思路 总结 1 穷举法 最大公约数 思路 假设两