求两个数之中的最大公约数

1.辗转相除法:

用大数对小数求余,若余数为0,则除数为最大公约数。若余数不为0,将此余数作为除数,小数作为被除数,重新求余,直到余数为0为止。此时的最大公约数为余数。

#include <stdio.h>int GYS(int a,int b){return b==0?a:GYS(b,a%b);
} int main(void){int a,b,r;scanf("%d %d",&a,&b);r=GYS(a,b);printf("%d\n",r);return 0;
}

2.穷举法

如果大数可以整除小数,那么最大公约数为小数。如果不能整除小数,那么这两个数就按大到小依次对比小数小的数求余,遇到都能够整除的,就是最大公约数

#include <stdio.h>int main(void){int a,b,min,i;scanf("%d %d",&a,&b);min=a>b?b:a;//选出最小的那个数for(i=min;i>0;i--){if(a%i==0 && b%i==0){break;}}printf("%d\n",i);return 0;
} 

3.相减法

两个数,相等时,最大公约数为他们其中任意一个。不相等时,用大数减小数。得到的差和之前的那个小数再次相减,直到两个数相等,这两个中,任意一个都是最大公约数

#include<stdio.h>
int main()
{int a = 0;int b = 0;printf("请任意输入两个数:");scanf("%d%d", &a, &b);while((a-b) != 0){if(a>b)a = a-b;elseb = b-a;}printf("最大公约数为:%d\n", b);return 0;
}

从这里学来的

小技巧 求最大公约数相关推荐

  1. 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...

    在 Python 中,求两个列表的交集,并集和差集是经常会遇到的需求,而且也比较简单. 最容易想到的就是写循环,对两个列表分别进行循环,然后判断元素是否在另一个列表中,求得最终结果. 但这种方法比较 ...

  2. 求一个任意实数c的算术平方根g_初中数学实数相关知识点:这些小技巧,解题有大用...

    实数在初中数学阶段算是一个大的版块,其中包括了很多的知识点,其中有一些简单的,也有一些较难的知识点,而在利用这些知识点解题的时候有时可能要转个弯,才能解的更快,而一般来说,实数的相关题目都是单选和填空 ...

  3. java 整数变负数_年年有余之java求余的小技巧

    背景 传说里玉皇大帝派龙王马上降雨到共光一带,龙王接到玉皇大帝命令,立马从海上调水,跑去共光施云布雨,但粗心又着急的龙王不小心把海里的鲸鱼随着雨水一起降落在了共光,龙王怕玉皇大帝责怪,灵机一动便声称他 ...

  4. of的用法小技巧,求通俗易懂的讲解

    我是大学已经过了六级的学生,下面的解答你可以参考一下. of的用法小技巧 1.归属型(左边的小,右边的大) 桌子上的脚 2.归属型 (左边是照片,右边是归属是谁的) 照片上的人是我的女朋友 3.限制型 ...

  5. Java实现欧几里得法求最大公约数GCD

    1.求最大公约数 文章目录 1.求最大公约数 (1)穷举算法1 (2)穷举算法2 (3)穷举算法3 (4)欧几里得算法 (1)穷举算法1 package com.java;//课本程序清单5-9,利用 ...

  6. Excel函数词典(483个函数说明 Excel函数公式Excel小技巧

    Excel函数词典(483个函数说明 Excel函数公式Excel小技巧 函数 类别 属性 新函数 说明 语法 BETADIST 兼容性函数 被替换 BETA.DIST 返回累积 beta 概率密度函 ...

  7. 离散数学/初等数论:用“质因子分解法”和“欧几里得算法”求最大公约数gcd;“质因子分解法”和“最简算法”求最小公倍数lcm;以及对“意义”的一些看法。

    需要在开头提前说明,本篇文章仅仅用于在学习初等数论或者离散数学时候对算术基本定理的理解,实际应用的时候把结论告诉大家,想求最大公约数就用欧几里得算法是最简单的,在本篇不再赘述,有机会我会在其他文章中说 ...

  8. 奇技淫巧-STL 库 ACM算法小技巧(持续更新中~~~)

    STL 库中的奇技淫巧 STL 是惠普实验室开发的一系列软件的统称,可以理解为一些容器的集合.STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件.STL 现在是C++的一部分,因此不用额 ...

  9. 详细的聊聊接口性能优化的11个小技巧 不收藏对不起我

    前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...

最新文章

  1. python高效开发实战
  2. sql中join的各种用法
  3. python 下载图片损坏_爬虫爬取出的图片下载出错,图片文件直接损坏
  4. 四川大学计算机学院录取,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...
  5. 接口 类型转换 try-catch(学习笔记)
  6. 【深度学习】越来越卷,教你使用Python实现卷积神经网络(CNN)
  7. CF Gym100917 C
  8. 安卓调用系统拍照功能:1、启动拍照返回图片,2、启动拍照,图片存储在指定路径下
  9. Android音视频开发之ExoPlayer(二):播放列表常用的功能
  10. 经典python题目练习
  11. Excepted in :flat namespace
  12. 干货!基于信息瓶颈理论的神经元竞争初始化策略
  13. shardingsphere5.0 解决第一次执行sql慢的问题
  14. 全球前沿技术趋势报告;华为发布Mate 40/Pro 系列新机;Windows 计算器移植到到 Linux...
  15. 金融级湖仓一体架构——SequoiaDB巨杉数据库初探
  16. 云服务器添加交换分区
  17. Rich Dad Poor Dad
  18. EasyCVR视频融合共享平台作为国标上级平台接入紫光华智云平台的流程解析
  19. Python判断大小写和数字和常用方法
  20. windows 7软件

热门文章

  1. IAR无法调试问题解决
  2. 解决小程序获取openid报错errcode:48001或者其他错误代码方案
  3. 2021 csp-s
  4. latex 加入.sty文件
  5. cocos creator 牌面翻转
  6. 各种品牌的PLC协议转换网关介绍
  7. 防范IFEO映像劫持
  8. Android studio低版本让3.0编译通过,更好的用studio看代码(找不到原作者那个网址链接了,望见谅!)
  9. 修复谷歌浏览器翻译功能(win10)
  10. 多种数据库连接工具_20多种热门数据工具及其不具备的功能