`
oywl2008
  • 浏览: 1083249 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

辗除法

 
阅读更多

辗除法(zhǎnchú fǎ )——辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。它首次出现于欧几里德的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。它并不需要把二数作质因子分解。

     证明:   设两数为a、b(b<a),求它们最大公约数(a、b)的步骤如下:用b除a,得a=bq......r 1(0≤r)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零余数即为(a,b)。

扩展阅读:

  • 1

    辗转相除法有很多应用,它甚至可以用来生成全世界不同文化中的传统音乐节奏,在现代密码学方面,它是RSA算法(一种在电子商务中广泛使用的公钥加密算法)的重要部分。它还用来解丢番图方程,寻找满足中国剩余定理的数,或者求有限域的倒数。辗转相除法还可以用来构造连分数,在施图姆定理和一些整数分解算法中也有应用。辗转相除法是现代数论的基本工具。

 

http://baike.baidu.com/view/2434272.htm

 

分享到:
评论

相关推荐

    greatest-common-divisor.rar_M?n

    这里我们将深入探讨这两个概念以及如何使用辗除法来计算它们。 最大公约数(GCD)是指能够同时整除两个或多个非零整数的最大正整数。对于给定的两个正整数m和n,我们可以使用辗除法(也称为欧几里得算法)来找到...

    《C语言学习与应用》程序设计参考-最大公约数和最小公倍数.docx

    辗除法是一种常用的算法,用于计算最大公约数。它的基本思想是,通过不断地将较小的数除以较大的数,直到余数为0为止。例如,计算12和15的最大公约数,我们可以通过以下步骤实现: 1. 将12除以15,余数为12 2. 将15...

    输入两个正整数m和n.docx

    这里我们通过一个名为`SixthCommonDiviser`的类来实现这个功能,主要使用了辗除法(也称为欧几里得算法)。 辗除法是计算最大公约数的一种有效方法,它的基本思想是:对于任意两个正整数a和b(假设a&gt;b),它们的...

    Java求两个数的最大公约数、最小公倍数.rar

    本文将详细介绍如何使用辗除法(也称为欧几里得算法)来实现这两个功能。 首先,我们来解释一下辗除法。辗除法是由古希腊数学家欧几里得提出的一种求解最大公约数的方法,它的核心思想是:对于任意两个正整数a和b...

    程序员面试的考题

    - 辗除法(欧几里得算法):用较大的数除以较小的数,然后用余数代替原来的较小数,如此反复,直到余数为0,最后的除数就是最大公约数。两数乘积除以最大公约数得到最小公倍数。 7. **字符统计**: - 使用while...

    Java基础习题(20211003203515).pdf

    - 辗除法(欧几里得算法)可以找到两个数的最大公约数(GCD),然后利用GCD求最小公倍数(LCM)。 7. **字符统计**: - 使用字符遍历,结合if条件判断来统计不同类型的字符数量。 8. **字符串累加**: - 需要...

    大学c语言程序设计经典例题

    - **辗除法**:这是一种求解两个正整数最大公约数(GCD)的经典算法。基本思想是用较小的数去除较大的数,再用出现的余数去除前面的除数,如此循环直到余数为0为止,此时的除数即为两数的最大公约数。 #### 示例...

    python、Object-c、c语言100练习题.pdf

    - 辗除法(欧几里得算法)计算最大公约数 - 最小公倍数与最大公约数的关系(两数乘积除以最大公约数) 7. **字符统计**: - 字符串处理 - 字符分类统计 - 输入/输出流的控制,如循环读取直到特定字符 8. **...

    50道JAVA逻辑题

    【程序 6】:最大公约数和最小公倍数的计算,学习如何使用辗除法来计算最大公约数和最小公倍数。 【程序 7】:字符统计的算法设计,学习如何使用while语句和条件判断来统计英文字母、空格、数字和其它字符的个数。 ...

    C语言基本算法.pdf

    程序分析:利用辗除法。程序源代码使用了循环语句来计算最大公约数和最小公倍数。 7. 字符统计 该问题要求输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为...

    java算法练习题 初学者

    辗除法(欧几里得算法)是求解最大公约数(GCD)和最小公倍数(LCM)的经典方法。通过不断用较大数除以较小数,直到余数为0,最后的除数就是最大公约数,两数相乘除以GCD得到最小公倍数。 7. **字符统计**: 使用...

    C语言100个经典题目.docx

    =0)/*利用辗除法,直到b为0为止*/{ temp=a%b; a=b; b=temp; } printf("gongyu") } ``` 这些经典题目涵盖了C语言的各种知识点,包括数组、循环、条件语句、函数、指针等,旨在帮助学习者提高C语言编程能力。

    java经典习题,经典题型!不容错过

    4. 输入两个正整数 m 和 n,求其最大公约数和最小公倍数:这道题目考察了如何使用辗除法来求解最大公约数和最小公倍数。 这些习题可以帮助Java学习者和开发者夯实基础、提高编程能力、熟悉Java语法和特性,同时也...

    JAVA编程例题习题

    这个问题是典型的最大公约数和最小公倍数问题,可以使用辗除法来解决,辗除法是一种寻找最大公约数和最小公倍数的方法。 程序 7:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 这个问题是...

    50道JAVA基础编程练习题

    程序分析:利用辗除法可以解决这个问题。 【程序 7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:使用 while 语句和条件语句可以解决这个问题。 【程序 8】 题目:求 ...

    50道JAVA基础编程练习题 无答案

    JAVA程序分析:利用辗除法。 7. 字符统计 JAVA程序分析:利用 while 语句,条件为输入的字符不为'\n'. 8. 数列求和 JAVA程序分析:关键是计算出每一项的值。 9. 完数 JAVA程序分析:一个数如果恰好等于它的因子之...

    Java经典编程题-学生.doc

    分析:本程序使用了辗除法,输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 程序 7:统计字符 分析:本程序使用了 while 语句,统计出输入的一行字符中的英文字母、空格、数字和其它字符的个数。 程序 8:...

    Java面试经典算法

    利用辗除法可以求得最大公约数和最小公倍数。 7. 字符统计问题:该题目考查了循环控制和字符处理能力。利用 while 语句可以统计出英文字母、空格、数字和其它字符的个数。 8. 数列求和问题:该题目考查了算法设计...

    C语言程序设计经典例子

    =0)/*利用辗除法,直到b为0为止*/ { temp=a%b; a=b; b=temp; } printf("gongyueshu:%d\n",a); printf("gongbeishu:%d\n",num1*num2/a); getch(); } ======================================================...

    C语言算法200题

    这个问题是关于最大公约数和最小公倍数的计算,通过分析可以发现可以使用辗除法来计算最大公约数和最小公倍数。 7、字符统计问题: 这个问题是关于字符统计的计算,通过分析可以发现可以使用 while 语句,条件为...

Global site tag (gtag.js) - Google Analytics