public class ArithmeticTest1 {
public static void main(String[] args) {
System.out.println(gab1(88,72));
System.out.println(gab2(88,72));
/**
* gab1(gab1(452,546),90)求取三个数的最大公约数
*/
System.out.println(gab1(gab1(452,546),90));
}
/**
* 相除法获取两个数的最大公约数
* @param a
* @param b
* @return
*/
public static int gab1(int a,int b){
while(b!=0){
int temp=a%b;
a=b;
b=temp;
}
return a;
}
/**
* 相减法获取两个数的最大公约数
* @param a
* @param b
* @return
*/
public static int gab2(int a,int b){
while(a!=b){
if(a>b){
a=a-b;
}else {
b=b-a;
}
}
return a;
}
}
java求最大公约数
时间: 2024-10-21 20:22:23
java求最大公约数的相关文章
java求最大公约数(分解质因数)
下面是四种用java语言编程实现的求最大公约数的方法: package gcd; import java.util.ArrayList; import java.util.List; public class gcd { public static void main(String[] args) { long startTime; long endTime; long durationTime; int[] testArray1 = new int[]{784, 988, 460, 732,
java求最大公约数,和最小公倍数
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n = sc.nextInt(); if(m<n) { int temp = m; m = n; n = temp; } int t = gy(m,n); System.out.println("
初学Java 求最大公约数
1 import java.util.Scanner; 2 public class GreatesCommonDivisor { 3 public static void main(String[] args) { 4 Scanner input = new Scanner(System.in); 5 6 System.out.print("Enter first integer: "); 7 int n1 = input.nextInt(); 8 System.out.print(
java 求最大公约数
public class Main { public static void main(String[] args) { System.out.println(gcd(4,8)); }//辗转相除法 public static int gcd(int x, int y){ if(y == 0) return x; else return gcd(y,x%y); }} 原文地址:https://www.cnblogs.com/sgbe/p/11413331.html
欧几里得求最大公约数--JAVA递归实现
欧几里得算法求最大公约数算法思想: 求p和q的最大公约数,如果q=0,最大公约数就是p:否则,p除以q余数为r,p和q的最大公约数即q和r的最大公约数. java实现代码: 1 public class Demo0 { 2 public static void main(String[] args) { 3 4 System.out.println(gcd(24,120)); 5 } 6 7 8 public static int gcd(int p,int q){ 9 10 if(q==0)
hdu----(5050)Divided Land(二进制求最大公约数)
Divided Land Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 123 Accepted Submission(s): 64 Problem Description It’s time to fight the local despots and redistribute the land. There is a rect
(hdu 2.1.4)又见GCD(求最大公约数GCD的变化题)
题目: 又见GCD Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2685 Accepted Submission(s): 1327 Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input 第一行输入一个n,
递归求最大公约数
import java.io.IOException; import java.util.Scanner; public class CommonDivisor { public static void main(String[] args)throws IOException{ try{ System.out.println("请输入两个整数!"); Scanner input = new Scanner(System.in); int x = input.nextInt();
【算法】欧几里德算法--求最大公约数
预备知识 因子(除数) 如果有整数 n,a,b .a和b都不为0 ,且 有 n = a*b ,则说a(或者b,以下省略说明)为n的一个因子,或者说a能整除n. 特别的:任何非0整数都是0的因子,所以一般我们不会去求0的因子. 如:3 的因子有 1, -1 , 3 , -3 .然而我们一般只考虑正数因子,因为负数因子和正数因此没有本质上的区别,只是符号不同而已. 素数:素数(也加叫质数)的定义是,如果整数p的因子 只有 ±1 和 ±p,则它就是素数 .特别的:0 和1既不是素数,也不是合