java经典算法6_最大公约数和最小公倍数
2016-11-14 05:50
239 查看
求两个数最大公约数和最小公倍数。
如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。
公约数中最大的一个公约数,称为这几个自然数的最大公约数。
几个数共有的倍数叫做这几个数的公倍数,其中最小的一个公倍数,叫做这几个数的最小公倍数。
求最大公约数公式:f(x, y)= f(y, x%y)(y > 0)
求最小公倍数公式:最小公倍数=两数的乘积/最大公约(因)数
package com.homework6;
public class Demo6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo6 d6 = new Demo6();
System.out.println(d6.max_Approx(12, 6));
System.out.println(d6.min_Multip(12, 6));
}
public int max_Approx(int a, int b) {
int temp = a % b;
if (temp != 0) {
a = b;
b = temp;
return max_Approx(a, b);
} else {
return b;
}
}
public int min_Multip(int a, int b) {
int temp = max_Approx(a, b);
return a*b/temp;
}
}
如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。
公约数中最大的一个公约数,称为这几个自然数的最大公约数。
几个数共有的倍数叫做这几个数的公倍数,其中最小的一个公倍数,叫做这几个数的最小公倍数。
求最大公约数公式:f(x, y)= f(y, x%y)(y > 0)
求最小公倍数公式:最小公倍数=两数的乘积/最大公约(因)数
package com.homework6;
public class Demo6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo6 d6 = new Demo6();
System.out.println(d6.max_Approx(12, 6));
System.out.println(d6.min_Multip(12, 6));
}
public int max_Approx(int a, int b) {
int temp = a % b;
if (temp != 0) {
a = b;
b = temp;
return max_Approx(a, b);
} else {
return b;
}
}
public int min_Multip(int a, int b) {
int temp = max_Approx(a, b);
return a*b/temp;
}
}
相关文章推荐
- 经典的100个C算法__(6)求最大公约数和最小公倍数
- java基础算法之求两个数的最大公约数和最小公倍数
- Java算法之求两个数的最大公约数与最小公倍数
- 经典的100个C算法__(6)求最大公约数和最小公倍数
- JAVA算法基础 求最大公约数和最小公倍数
- java经典算法_006最大公约数,最小公倍数
- JAVA经典算法40题
- [Java]练习题006: 求两个数的最大公约数和最小公倍数
- java面试算法题(经典)
- java经典算法面试题(1)
- java经典算法的前20个
- java经典算法一例
- JAVA经典算法40题(1-20)
- C++/C经典算法百题--(39-42)年龄几何,三色球问题,两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
- 简单经典算法——欧几里德算法(求最大公约数)
- JAVA经典算法40题(1-20)
- 分享Java面试中遇到的一些经典算法题目
- Java算法之经典问题篇(三)
- java求多个数的最大公约数和最小公倍数
- Java经典算法例题分享