java中计算最大公约数的两种方法
2018-02-12 13:55
429 查看
第一种:枚举法
这种方法需要计算机将每一个数都去试一遍才能找到最后的值
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int s=1;
int i;
for(i=2;i<=a&&i<=b;i++)
{
if(a%i==0&&b%i==0)
{
s=i;
}
}
System.out.println(a+"与"+b+"的最大公约数是"+s);
}
}
第二种:辗转相除法
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int oa=a;
int ob=b;
while(b!=0)
{
int r=a%b;
a=b;
b=r;
}
System.out.println(oa+"与"+ob+"的最大公约数是"+a);//在while过程中,a与b的值会发生改变,所以需要将a,b的值赋 给oa,ob
}
}
这种方法需要计算机将每一个数都去试一遍才能找到最后的值
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int s=1;
int i;
for(i=2;i<=a&&i<=b;i++)
{
if(a%i==0&&b%i==0)
{
s=i;
}
}
System.out.println(a+"与"+b+"的最大公约数是"+s);
}
}
第二种:辗转相除法
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int oa=a;
int ob=b;
while(b!=0)
{
int r=a%b;
a=b;
b=r;
}
System.out.println(oa+"与"+ob+"的最大公约数是"+a);//在while过程中,a与b的值会发生改变,所以需要将a,b的值赋 给oa,ob
}
}
相关文章推荐
- Java:多重循环for、while、do-while(简单判断是否是四位整数、1-100累加,水仙花、最大公约数。最小公倍数、完数、输入任意数计算每位数之和、弹力球问题)
- 求一个数组当中最大(最小)值的两种计算方法
- 求用JAVA计算某年某月的天数?(两种方法)
- JAVA:递归和迭代两种方法计算斐波那契数列
- 两种计算Java对象大小的方法
- java求最大值的两种方法
- Java实现计算圆周率π的两种方法
- java操练之求两数最大公约数的两种算法思路
- java--水仙花数计算两种实现方法
- 两种求两整数最大公约数的方法
- 两种计算Java对象大小的方法
- Java程序实现欧几里得算法-计算两个数的最大公约数
- java计算两点之间的距离的两种方法
- java实现计算两个整数的最大公约数代码及附图
- 两种计算Java对象大小的方法
- 最大公约数(公因子)多种java实现方法
- java 三种方法实现最大公约数
- 聊聊JVM(三)两种计算Java对象大小的方法
- (java)求m,n最大公约数的三种方法
- 2011级Java第1周(春)项目——计算“两个整数的最大公约数”程序