求最大公因数三种方法

  • 两个数m,n(默认m最大,m>n)
  • 相减法

    • 如果m > n,m = m - n;
    • 如果m < n,n = n - m;
    • 如果m == n,输出 m 或者 n,即为最大公因数
    • m != n则循环上述操作
    #include <stdio.h>
    int main(){int m,n;scanf("%d%d",&m,&n);printf("The maxFactorNum of %d and %d is ",m,n);while (m!=n){if(m>n) m = m - n;if(m<n) n = n - m;}printf("%d",m);return 0;
    }
    
  • 辗转相除法

    • c = 大数%小数,即c = m % n;
    • c == 0,则输出n为最大公因数
    • c != 0,a = b, b = c; 循环 c = m % n;
    #include <stdio.h>
    void swap(int *a, int *b);
    int main(){int m,n,r;scanf("%d%d",&m,&n);if(m<n) swap(&m,&n);printf("The maxFactorNum of %d and %d is ",m,n);while (n!=0){r = m%n;m = n;n = r;}printf("%d.\n",m);return 0;
    }
    void swap(int *a, int *b){int temp = *a;*a = *b;*b = temp;
    }
    
  • 最小数递减法

    • 将m、n中的最小的数赋值给一个变量c
    • 需要同时满足m%c == 0 && n%c == 0,输出c为最大公因数
    • 如果不满足的话 c-- 循环上述操作
    #include <stdio.h>
    void swap(int *a, int *b);
    int main(){int m,n,c;scanf("%d%d",&m,&n);c = (m > n) ? n : m;printf("The maxFactorNum of %d and %d is ",m,n);for(;c>=1;c--){if (m%c==0 && n%c==0){printf("%d.\n",c);break;}}return 0;
    }
    

最小公倍数

m*n/p
两个数相乘除以最大公因数即可

最大公因数和最小公倍数的求法相关推荐

  1. 用C语言实现求最大公因数和最小公倍数

    用C语言实现最大公因数和最小公倍数 一.方法论最大 公因数和最小公倍数 求两个数最大公因数 eg:18 24 18的因数 1 2 3 6 9 18 24的因数 1 2 3 4 6 8 12 24 求法 ...

  2. 最大公因数、最小公倍数、因式分解

    最大公因数使用辗转相除法来求,最小公倍数则由这个公式来求: GCD * LCM = 两数乘积 解法最大公因数可以使用递回与非递回求解,因式分解基本上就是使用小于输入数的数值当作除数,去除以输入数值,如 ...

  3. 求n个数的最大公因数和最小公倍数(c)

    设计要点 可以通过反复求两个正整数的最大公因数和最小公倍数的方法来实现. 规定(a,b)为a,b的最大公因数,{a,b}为最小公倍数. 对于3个或3个以上的正整数,最大公约数与最小公倍数有以下性质: ...

  4. 怎么求最大公因数和最小公倍数

    设有a,b两数,求他们的最大公因数和最小公倍数 公式:最大公因数 =  a * b / 最小公倍数 = 两数之积除以最小公倍数. #include "iostream" //voi ...

  5. Algorithm Gossp (18) 最大公因数、最小公倍数、因式分解

    前言 This Series aritcles are all based on the book <经典算法大全>; 对于该书的所有案例进行一个探究和拓展,并且用python和C++进行 ...

  6. C++枚举法求最大公因数和最小公倍数

    #include<iostream> using namespace std; int main() {//最大公因数和最小公倍数int m, n;cout << " ...

  7. C语言求最大公因数与最小公倍数

    1辗转相除法求最大公因数余最小公倍数 辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公因子的: ⒈ 令r为a/b所得余数(0≤r) 若 r= 0,算法结束:b 即为答案. ⒉ 互换:置 ...

  8. python之for循环使用(奇数和、偶数和、最大公因数和最小公倍数、用户登陆系统)

    需要知道 有关range: >>> range(5)[0, 1, 2, 3, 4]>>> range(7)[0, 1, 2, 3, 4, 5, 6]>> ...

  9. 求两个正整数的最大公因数和最小公倍数

    求两个正整数的最大公因数和最小公倍数 两个正整数最大公因数和最小公倍数的关系 更相减损术 原理: 代码实现: 辗转相除法 原理: 代码实现: 穷举法 原理: 代码实现: Stein算法 原理: 两数都 ...

最新文章

  1. 异步编程之Promise(2):探究原理
  2. php mysql_query的的用法_PHPmysqli_query()函数定义与用法
  3. 5.1 tushare包介绍
  4. 【转】犹太人的10句话,每一句都值得深思
  5. hibernate防止sql注入对参数赋值传参数的例子
  6. [.NET跨平台]Jexus独立版本的便利与过程中的一些坑
  7. Android SurfaceFlinger
  8. Linux 环境变量配置总结
  9. verilog状态机以及编码详解
  10. 历时90天,2017 CCF大数据与计算智能大赛(BDCI)决赛落幕
  11. 计算机键盘中英文,电脑键盘指法练习(英文+数字)
  12. python 切片器_Excel中如何使用切片器,这个太高大上了
  13. qlv文件怎么转成mp4格式?qlv转mp4格式步骤详解
  14. HttpClient发送POST和GET请求
  15. ios 常用的30个动画效果
  16. 接私活/毕业设计必备,基于SpringBoot+Activiti的Java底层框架的实现
  17. 全新UI众人帮任务帮PHP源码 悬赏任务抖音快手头条点赞源码 带三级分销可封装小程序
  18. java制作局域网聊天器_基于Java的局域网聊天工具
  19. yjk的波库在哪里_PKPM、YJK地震波导入至MIDAS软件中的方法
  20. GMS(Groundwater modeling system) 如何根据流域边界生成三维网格?

热门文章

  1. WinCE虚拟串口驱动
  2. chrome弹出窗口透明化(chrome看不清文字)解决办法
  3. geoserver解决跨域问题与wps安装
  4. 物联网毕业设计 - 基于stm32单片机的放松按摩仪
  5. 你们支持地摊在不影响交通情况下摆摊吗
  6. 计算机公司 英语日常用语,计算机专用英语词汇1500词SampleTextSampleText电脑日常用语.PDF...
  7. python请求飞书API操作
  8. python实现按键精灵之颜色格式转换RGB vs HEX
  9. freeswitch录音
  10. 【华为机试在线训练】Day 11