文章目录

目录

文章目录

前言

一、辗转相除法

二、第二种方法




前言

1、最常规的方法,用辗转相除法

2、比较简便的方法 

一、辗转相除法

举例:

假如需要求 1997 和 615 两个正整数的最大公约数,用辗转相除法,是这样进行的:

1997 ÷ 615 = 3 (余 152)

615 ÷ 152 = 4(余7)

152 ÷ 7 = 21(余5)

7 ÷ 5 = 1 (余2)

5 ÷ 2 = 2 (余1)

2 ÷ 1 = 2 (余0)

至此,最大公约数为1

#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int ret = 0;//保证a>bif (b > a){ret = b;b = a;a = ret;}int c = a * b;int d = 0;//辗转相除法do{d = a % b;if (d != 0){a = b;b = d;}} while (d > 0);c = c/b;//最小公倍数=a*b/最大公约数printf("%d", c);return 0;
}

不过,这个代码可能在运行中有可能出现问题,a*b的值如果过大,超出范围溢出,所以我们再加以改良一下,从a*b/k变成a/k*b。

#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int aa = a;int bb = b;int ret = 0;//保证a>bif (b > a){ret = b;b = a;a = ret;}int c = 0;int d = 0;//辗转相除法do{d = a % b;if (d != 0){a = b;b = d;}} while (d > 0);c = aa/b*bb;printf("%d", c);return 0;
}

我们知道,在运行过程中,a、b的值会改变,所以提前把值赋值给新的变量。

二、第二种方法

代码如下:

#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int i = 1;while (a * i % b != 0){i++;}printf("%d\n", a * i);return 0;
}

这种方法就是最简便的了。这边的a、b位置可以调换,就是不用比较谁较大谁较小。

C语言|求最小公倍数相关推荐

  1. c语言求最小公倍数和最大公约数三种算法

    C语言求最小公倍数和最大公约数三种算法(经典) 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b ...

  2. C语言求最小公倍数和最大公约数三种算法(经典)

    C语言求最小公倍数和最大公约数三种算法(经典) 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为 ...

  3. 常见算法:C语言求最小公倍数和最大公约数三种算法

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  4. 最小公倍数用c语言,如何用C语言求最小公倍数。。。

    满意答案 wqiusk 2014.04.10 采纳率:49%    等级:9 已帮助:868人 主要是辗转相除法. 方法一.不设函数 #include <stdio.h> int main ...

  5. c语言中最小公倍数算法,常见算法:C语言求最小公倍数和最大公约数三种算法...

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  6. 求最小公倍数c语言最简公式,C语言求最小公倍数和最大公约数三种算法(经典)...

    把以前写的一些经验总结汇个总,方便给未来的学弟学妹们做个参考! --------------------------永远爱你们的:Sakura 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们 ...

  7. C语言求最小公倍数和最大公约数三种算法(经典)----ACM

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  8. C语言求最小公倍数的三种方法

    第一种方法:累加法求 思路是,两个数字,要求他们的最小公倍数,那么这个最小公倍数,至少不要比这两个要求的数小.我们首先判断出两个数中较大的一个,然后判断这个数是否是要求的两个数的最小公倍数.如果不是, ...

  9. 用C语言求最小公倍数

    #include <stdio.h> int min_num(int x, int y) { int m = 0; while (m = x % y) { x = y; y = m; } ...

  10. c语言求a b 最大公约数和最小公倍数,常见算法:C语言求最小公倍数和最大公约数三种算法...

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

最新文章

  1. HDU2896(AC自动机模版题)
  2. 转: 浅析Fusion-IO和Intel SSD
  3. CentOS Linux 新建oracle数据库实例并连接
  4. git分支操作的成功案例
  5. IBM DW上关于SOA的规范归纳
  6. iphone已停用怎么解锁_两种无密码解锁iPhone锁屏密码的方法
  7. QuickBI助你成为分析师——搞定数据源
  8. 给深受【应用程序未安装】困扰并且找不到【smdl2tmp1.asec】系统的机友们
  9. 2017 让机器给我们干活
  10. verilog逻辑符
  11. Matlab产生由正弦波产生方波
  12. Android——TextView实现真正的跑马灯效果
  13. mysql replace into 异常1365 - Division by 0
  14. 如何判断时间复杂度和空间复杂度
  15. java自旋锁使用_10.Java锁之自旋锁
  16. 阿里M8级铁子整理出SQL手册:收获不止SQL优化,抓住SQL的本质
  17. 【GHM (AAAI‘2019)】
  18. Python3正则表达式(慢慢更新中~)
  19. 计算机网络03:数据链路层
  20. svchost netsvcs占用内存过高 99% 100%的解决方法

热门文章

  1. js:nodejs搭建http服务器为页面添加mysql中的数据分页
  2. 金融科技大数据产品推荐:恒丰银行实时智能决策引擎
  3. SPI驱动SX1278模块1-网关.SPI头文件,c文件,sx1278头文件和c文件,主函数
  4. ECCV 2022|计算机视觉中的长尾分布问题还值得做吗?
  5. 物联网案例(一):将设备数据转换为明智决策
  6. oracle语句调试,Oracle中使用fnd_log_messages调试的步骤
  7. 强烈建议你把这5个跨境神器都收藏了
  8. wow服务器人数最新统计,魔兽世界怀旧服服务器人数统计 魔兽世界怀旧服人数比例查询...
  9. hexo博客微博图床失效解决办法
  10. 敏捷(Agile)是什么?有哪些优缺点?敏捷落地需不需工具?