计算机设计与艺术——给定两个正整数,求它们最大公因子
2014-08-21 10:00
253 查看
题目:算法E(欧几里得算法) 给定两个正整数m和n,求它们的最大公因子,即能够同时除以m和n的最大正整数。
E1.[求余数] 以n除m并令r为所得余数
E2.[余数为零?]若r=0,算法结束,n即为答案。
E3.[减少]置m←n,n←r,并返回步骤E1。
java代码如下
*欧几里得算法具体可参照百度百科;
面试经常遇到。。。
E1.[求余数] 以n除m并令r为所得余数
E2.[余数为零?]若r=0,算法结束,n即为答案。
E3.[减少]置m←n,n←r,并返回步骤E1。
java代码如下
public int computational(int m, int n) { int r = m % n; if (r == 0) { return n; }else { m = n; n = r; return this.computational(m, n); } }
*欧几里得算法具体可参照百度百科;
面试经常遇到。。。
相关文章推荐
- 给定一个整数数组,返回两个数字的索引,使它们相加得到一个特定目标值
- 设计一个算法,将计算机产生的n个随机数,分为奇数、偶数两组,并将它们分别压入两个栈中,然后输出在屏幕上
- 给定一个整数数组,两个数字的返回索引将它们加到一个特定的目标中。 您可以假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
- 实训汇编语言设计——找出两个数组中相同的整数
- 实训C++语言设计——接受两个非递减的线性表,并将它们合并为非递减的Lc
- 给定两个输入文本,找出它们共有的最长字符串
- 一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。 Input 第一行两个字
- 一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。 小王对既是素数又是回文的
- 计算机游戏设计的艺术(1)
- C++递归问题之二——n皇后问题:以四、八皇后为例,给定n个皇后要求将它们放在一个n维矩阵中,任意两个皇后不能出现在同一行、列、主副对角线上,输出具体的摆放方式
- 对于给定的若干个整数,要求计算它们的和!
- 题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
- 实训C++语言设计——接受两个非递减的线性表,并将它们合并为非递减的Lc
- mips汇编之输入两个整数并打印它们的和
- 给出两个数m和n,求它们的最大公因子,即能够同时整出m和n的最大正整数
- 计算机游戏设计的艺术
- 计算机游戏设计的艺术(1)
- 用欧几里得辗转相除法求任意两个整数的最大公因子(网上最快的算法!!!)
- 给定两个正整数,求出两数的正差值并输出
- 拆数,给定两个正整数m,n(m >= n),将m拆成n个数相加...(游戏)