技术经验分享:008.求最小公倍数

简介: 技术经验分享:008.求最小公倍数

"

两个数的乘积等于这两个数的最大公约数与最小公倍数的积,所以先算出最大公约数,利用辗转相除法解决。

利用辗转相除法求最大公因数的步骤如下:

第一步:用较//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgzOTQwMA==.html

大的数m除以较小的数n得到一个商q0和一个余数r0;

第二步:若r0=0,则n为m,n的最大公因数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;

第三步:若r1=0,则r1为m,n的最大公因数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;

……

依次计算直至rn=0,此时所得到的rn-1即为所求的最大公因数。

1 #include

2 #include ""process.h""

3 int main()

4 {

5 int num1, num2;

6 std::cin ] num1 ] num2;

7 int m, n, r;

8 if (num1>num2)

9 {

10 m = num1; n = num2;

11 }

12 else

13 {

14 m = num2; n = num1;

15 }

16 r = n;

17 while (r != 0)

18 {

19 r = m%n;

20 m = n;

21 n = r;

22 }

23 std::cout [ num1*num2 / m [ std::endl;

24 //代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgzOTQwOA==.html

return 0;

25 }


"
image.png
目录
打赏
0
0
0
0
43
分享
相关文章
|
2月前
|
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
83 15
|
2月前
|
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
本文档介绍了编程任务的详细内容,旨在运用枚举法求解硬币等额 - 循环控制语句(`for`、`while`)及跳转语句(`break`、`continue`)的使用。 - 循环嵌套语句的基本概念和应用,如双重`for`循环、`while`嵌套等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台将对编写的代码进行测试,并给出预期输出结果。 5. **通关代码**:提供完整的代码示例,帮助理解并完成任务。 6. **测试结果**:展示代码运行后的实际输出,验证正确性。 文档结构清晰,逐步引导读者掌握循环结构与嵌套的应用,最终实现硬币兑换的程序设计。
53 19
|
2月前
|
【C语言程序设计——循环程序设计】求解最大公约数(头歌实践教学平台习题)【合集】
采用欧几里得算法(EuclideanAlgorithm)求解两个正整数的最大公约数。的最大公约数,然后检查最大公约数是否大于1。如果是,就返回1,表示。根据提示,在右侧编辑器Begin--End之间的区域内补充必要的代码。作为新的参数传递进去。这个递归过程会不断进行,直到。有除1以外的公约数;变为0,此时就找到了最大公约数。开始你的任务吧,祝你成功!是否为0,如果是,那么。就是最大公约数,直接返回。
96 18
|
2月前
|
【C语言程序设计——循环程序设计】利用数列的累加和求 sinx(头歌实践教学平台习题)【合集】
项的累加和,一般会使用循环结构,在每次循环中计算出当前项的值(可能基于通项公式或者递推关系),然后累加到一个用于存储累加和的变量中。在C语言中推导数列中的某一项,通常需要依据数列给定的通项公式或者前后项之间的递推关系来实现。例如,对于一个简单的等差数列,其通项公式为。的级数,其每一项之间存在特定的递推关系(后项的分子是其前项的分子乘上。,计算sinx的值,直到最后一项的绝对值小于。为项数),就可以通过代码来计算出指定项的值。对于更复杂的数列,像题目中涉及的用于近似计算。开始你的任务吧,祝你成功!
61 6
【C语言程序设计——函数】回文数判定(头歌实践教学平台习题)【合集】
算术运算于 C 语言仿若精密 “齿轮组”,驱动着数值处理流程。编写函数求区间[100,500]中所有的回文数,要求每行打印10个数。根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码。如果操作数是浮点数,在 C 语言中是不允许直接进行。的结果是 -1,因为 -7 除以 3 商为 -2,余数为 -1;注意:每一个数据输出格式为 printf("%4d", i);的结果是 1,因为 7 除以 -3 商为 -2,余数为 1。取余运算要求两个操作数必须是整数类型,包括。开始你的任务吧,祝你成功!
58 1
|
9月前
|
技术经验分享:hdoj1002解题报告(大数入门)
技术经验分享:hdoj1002解题报告(大数入门)
30 0
技术经验解读:【最小生成树】新的开始(newstart)解题报告
技术经验解读:【最小生成树】新的开始(newstart)解题报告
45 0
心得经验总结:最长回文子串
心得经验总结:最长回文子串
35 0
|
9月前
|
C语言中求x的n次方:从入门到实践(保姆式教学)
C语言中求x的n次方:从入门到实践(保姆式教学)
567 0
【算法实践】| 一步步带你实现寻找最大公约数
在实现之前我们先来了解一下什么是最大公约数,以及我们常用的计算最大公约数的方法或者说数学方法。 概念 最大公约数,也称最大公因数、最大公因子。他是一个能够被若干整数同时整除的整数,如果一个整数同时是几个整数的约数,则称这个整数为他们的公约数,公约数中最大的数成为最大公约数,1是任意若干的正整数的公约数。比如:一个数既是数A的约数,又是数B的约数,称为A,B的公约数,A,B的公约数中最大的一个(可以包括AB自身)称为AB的最大公约数,a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。这么一大段可以概括为: 最大公约数:指两个或
322 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等