这个函数是我无意中看到的很不错,很给力,我喜欢

是用于求最小公约数的

简单的描述就是,记gcd(a,b)表示非负整数a,b的最大公因数,那么:gcd(a,b)=gcd(b,a%b)或者gcd(a,0)=gcd(0,a)=a

请看代码

int gcd(int a,int b)
{
if(a==0)
return b;
if(b==0)
return a;
return gcd(b,a%b);
}

例题 链接

http://acm.hdu.edu.cn/showproblem.php?pid=1108

由于题目很简单,我就不多说了

AC 代码

#include<stdio.h>
int main(void)
{
int gcd(int a,int b);
int a,b;
while(scanf("%d%d",&a,&b)==2)
{
printf("%d\n",a*b/gcd(a,b));//两数最大公因数和最小公倍数的乘积为两数的乘积。
}
return 0;
}

int gcd(int a,int b)
{
if(a==0)
return b;
if(b==0)
return a;
return gcd(b,a%b);
}

转载于:https://www.cnblogs.com/liudehao/p/3935337.html

一个好的函数(gcd)求最小公约数相关推荐

  1. Problem B: 编写函数:求最大公约数gcd()和最小公倍数lcm() (Append Code) 山东科技大学 oj

    题目描述 辗转相除法,也称欧几里得算法,是求最大公约数的算法.辗转相除法首次出现于欧几里得的<几何原本>(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的<九章算术> ...

  2. 2.2基本算法之递归和自调用函数_7592 求最大公约数问题

    http://noi.openjudge.cn/ch0202/7592/ /* 2.2基本算法之递归和自调用函数_7592 求最大公约数问题 http://noi.openjudge.cn/ch020 ...

  3. 2022.01.16 求最小公约数和最大公倍数、加循环

    求最小公约数和最大公倍数 #include<stdio.h> int main() {int a,b,c,ao,bo;printf("请输入两个数:");scanf(& ...

  4. python中求最小公约数,python求最大公约数和最小公倍数的简单方法

    python求最大公约数和最小公倍数的简单方法 python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于 ...

  5. C和指针之函数之求最大公约数

    1.求最大公约数 求公约数的规则如下 /*** M % N = 0 : N*gcd(M, N) =* M % N = R, R > 0 : gcd(N, R)*/ 2.代码实现 #include ...

  6. 分别求两个整数的最大公约数和最小公倍数。_看不懂辗转相除法求最小公约数?以身相许那种哦!...

    给你打个比喻吧:你英雄救美了,美女想要报答你,你想要1000块感谢费,但是美女却想要以身相许 ,懂了吧,同样都是报答,只是用了不一样的方式,辗转相除法也是这样,你两个数的最大公约数不容易求,我就用另外 ...

  7. python中最小公倍数函数_python求最大公约数和最小公倍数的简单方法

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  8. mysql最大公约数函数_求最大公约数和最小公倍(PHP)

    求最大公约数和最小公倍(PHP) 用程序求最大公约数和最小公倍数最容易想到的方法如下: //求最大公约数 function max_divisor($a, $b) { $n = min($a, $b) ...

  9. 辗转相除法求最小公约数和最小公倍数

    第一步:输入数据核心步骤为: printf("请输入两个正整数,用逗号间隔:"); scanf("%d,%d",&x,&y). 第二步:比较大小 ...

  10. java编程求最小公约数_java求最大公约数与最小公倍数

    public class Gongyueshu { public static void main(String[] args) { //从控制台输入两个数据 int m = Integer.pars ...

最新文章

  1. SQLite主键自增需要设置为integer PRIMARY KEY
  2. 2017年蓝桥杯省赛
  3. pcdmis怎么导出模型_从代数几何到导出代数几何:复形的几何
  4. @excel 注解_Java中注解学习系列教程-3
  5. HBase架构设计及原理分析
  6. 世界前列量化高频投资公司
  7. 【教程】CoreAVC+Haali安装及设置简易教程(KMPlayer)(2)
  8. c语言除法连续运算,单片机C语言快速精度除法方案
  9. filezilla linux服务器端,FileZilla Server安装配置教程
  10. 6.11 如何在Excel自选图形中显示公式的数值 [原创Excel教程]
  11. 使用阿里云邮件推送服务群发邮件
  12. C++--数字转大写金额
  13. 路由、路由表介绍以及静态路由的配置
  14. 怎么实现微信小程序云开发拼团功能?
  15. hdu3491 最小点割集(无向图求最小点割集通用方法)
  16. 十年磨一剑,剑出荡魑魅
  17. java操作hfds----刘雯丽
  18. 005 偶数分频,奇数分频,倍频
  19. Charles使用及常用功能介绍
  20. C/C++ Qt StatusBar 底部状态栏应用

热门文章

  1. hadoop入门学习--WordCount
  2. linux 忘记mysql密码的解决办法
  3. postfix+ldap
  4. STL 之 vector 的使用 (转载)
  5. 数据库、SQL脚本、存储过程执行准则(*****)
  6. Script to show Active Distributed Transactions
  7. win2003server域控服务器安装及设置
  8. 字长为16位的计算机_字长为16位表示这台计算机最大能计算
  9. ListT的RemoveAll方法
  10. mybatis两个内置参数