美文网首页
[抄算法 - 0 ] 2300年前的欧几里得算法

[抄算法 - 0 ] 2300年前的欧几里得算法

作者: 岦_ | 来源:发表于2018-08-07 10:46 被阅读12次

人生特漫长,这日子怎的又短促?

今天开始,无聊就抄点算法吧...

描述

2300年前的欧几里得算法,做的是这样一件事情:找出两个数的最大公约数

自然语言描述:

计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。

PS: 欧几里得大概是很无聊的,那么奇怪的规律也能找到。

实现:

defmodule Alt do
  def gcd(p, 0), do: p
  def gcd(p, q), do: gcd(q, rem(p, q))
end


IO.puts Alt.gcd(10,4)
# -> 2 
IO.puts Alt.gcd(10,0)
#-> 10

相关文章

  • [抄算法 - 0 ] 2300年前的欧几里得算法

    人生特漫长,这日子怎的又短促?今天开始,无聊就抄点算法吧... 描述 2300年前的欧几里得算法,做的是这样一件事...

  • 扩展欧几里得算法

    资料 欧几里得算法 扩展欧几里得算法 扩展欧几里得算法应用 欧几里得算法 欧几里得算法用于求两个数的最大公约数 证...

  • 算法学习(2)----丢番图方程

    之前一篇随笔"算法学习(1)----扩展欧几里得算法"记录了对朴素欧几里得算法和扩展欧几里得算法的学习和认识...

  • 扩展欧几里得算法

    扩展欧几里得算法(Extended Euclidean algorithm)是欧几里得算法(又叫辗转相除法)的扩展...

  • 扩展欧几里德算法

    扩展欧几里得算法(英语:Extended Euclidean algorithm)是欧几里得算法(又叫辗转相除法)...

  • GCD欧几里得算法 & EXGCD扩展欧几里得算法

    欧几里得算法欧几里得算法 (Euclidean algorithm) 是用来解决最大公约数问题的,通常采用辗转相除...

  • 组合数求解

    扩展欧几里得算法原理求解逆元的方法(本文采用扩展欧几里得算法进行求解)求组合数的两种方法Lucas定理

  • 拓展欧几里得算法

    问题 求线性同余方程ax+by=c的整数解 思路 首先介绍下欧几里得算法的原理,众所周知,欧几里得算法是辗转相除法...

  • 数论——欧几里得算法

    欧几里得算法 介绍 【欧几里得算法】又名辗转相除法,是求最大公约数的算法。两个整数的最大公约数是能够同时整除它们的...

  • 扩展欧几里得算法

    扩展欧几里得算法 对于任意整数a,b,存在一对整数x,y,满足ax+by=gcd(a,b)。证明:当b=0时显然x...

网友评论

      本文标题:[抄算法 - 0 ] 2300年前的欧几里得算法

      本文链接:https://www.haomeiwen.com/subject/kusovftx.html