/*最大公约数:
如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。
公约数中最大的一个公约数,称为这几个自然数的最大公约数。 最小公倍数:
两数相乘再除以最大公约数,即为最小公倍数
*/package ch00;
import org.w3c.dom.ls.LSOutput;
import java.util.Scanner;
public class FindMaximumNumberOfConventions {
//从高向低遍历,寻求最大合法项
public static int Solution1(int n,int m){
for(int i=m; i>0; i--)
if(n%i==0 && m%i==0){
return i;
}
return 0;
}
//碾转相除法
public static int Solution2(int n,int m){
int i;
while(m>0){
i = n%m;
n = m;
m = i;
}
return n;
}
//更相减损法
public static int Solution3(int n,int m){
while(n!=m){
if(n>m)
n-=m;
else m-=n;
}
return n;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入数n:");
int n=sc.nextInt();
System.out.println("请输入数m:");
int m=sc.nextInt();
int temp;
if(n<m){
temp=n;
n=m;
m=temp;
}
System.out.println("最大公约数:");
System.out.println("Solution1:"+Solution1(n,m));
System.out.println("Solution2:"+Solution2(n,m));
System.out.println("Solution3:"+Solution3(n,m));
System.out.println("最小公倍数:"+n*m/Solution1(n,m));
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。