Programa Java para encontrar GCD de dois números

Neste programa, você aprenderá a encontrar GCD de dois números em Kotlin. Isso é feito usando loops for e while com a ajuda de instruções if else.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Instrução Java if… else
  • Java para Loop
  • Java while e do … while Loop

O HCF ou GCD de dois inteiros é o maior inteiro que pode dividir exatamente os dois números (sem resto).

Exemplo 1: Encontre GCD de dois números usando o loop for e a instrução if

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i==0 && n2 % i==0) gcd = i; ) System.out.printf("G.C.D of %d and %d is %d", n1, n2, gcd); ) )

Resultado

 GCD de 81 e 153 é 9

Aqui, dois números cujos GCD podem ser encontrados são armazenados em n1 e n2, respectivamente.

Então, um loop for é executado até que i seja menor que n1 e n2. Dessa forma, todos os números entre 1 e o menor dos dois números são iterados para encontrar o GCD.

Se n1 e n2 são divisíveis por i, mdc é definido como o número. Isso continua até encontrar o maior número (GCD) que divide n1 e n2 sem resto.

Também podemos resolver esse problema usando um loop while da seguinte maneira:

Exemplo 2: Encontre GCD de dois números usando o loop while e a instrução if else

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Resultado

 GCD = 9

Essa é a melhor maneira de encontrar o GCD. Nesse método, o inteiro menor é subtraído do inteiro maior e o resultado é atribuído à variável que contém o inteiro maior. Este processo continua até que n1 e n2 sejam iguais.

Os dois programas acima funcionam conforme pretendido apenas se o usuário inserir números inteiros positivos. Aqui está uma pequena modificação do segundo exemplo para encontrar o GCD para inteiros positivos e negativos.

Exemplo 3: GCD para números positivos e negativos

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = -153; // Always set to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Resultado

 GCD = 9

Artigos interessantes...