English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá a encontrar o maior número comum divisor de dois números em Kotlin. Isso é feito usando um loop while sob a ajuda de declarações if else.
O HCF ou GCD de dois inteiros pode ser o maior inteiro que pode dividir os dois números exatamente (sem resto).
fun main(args: Array<String>) { val n1 = 81 val n2 = 153 var gcd = 1 var i = 1 while (i <= n1 && i <= n2) { //Verifique se i é um divisor dos dois inteiros if (n1 % i == 0 && n2 % i == 0) gcd = i ++i } println("$n1E $n2O maior número comum divisor é $gcd") }
Ao executar o programa, a saída é:
81 E 153 O maior número comum divisor é 9 9
Aqui, os dois números que precisam encontrar o maior número comum divisor são armazenados em n1e n2Aqui
Em seguida, execute o loop for, até que i seja menor que n1e n2Até aqui. Assim, a iteração1Até ao menor dos dois números para encontrar o maior número comum divisor.
Se n1e n2Podem ser divididos por i, então defina gcd como o número. Continue até encontrar o número maior (GCD), que será n1e n2Dividem-se sem resto.
Diferente do Java, você não pode usar um loop for condicional para resolver este problema. Aqui está o código Java equivalente:Programa Java para encontrar o GCD de dois números.
Aqui está uma maneira melhor de encontrar o GCD em Kotlin:
fun main(args: Array<String>) { var n1 = 81 var n2 = 153 while (n1 != n2) { if (n1 > n2") n1 -= n2 else n2 -= n1 } println("G.C.D = $n1") }
Ao executar o programa, a saída é:
G.C.D = =n 9
Esta é uma melhor maneira de encontrar o GCD. Neste método, subtraia o inteiro menor do inteiro maior e atribua o resultado à variável que armazena o inteiro maior. Este processo continua até n1e n2Iguais.
Os dois programas acima funcionarão conforme esperado apenas se o usuário inserir números inteiros positivos. Este é um exemplo modificado da segunda, que pode encontrar o GCD de números inteiros positivos e negativos.
fun main(args: Array<String>) { var n1 = 81 var n2 = -153 //Sempre um número positivo n1 = if (n1 > 0) n1 else -n1 n2 = if (n2 > 0) n2 else -n2 while (n1 != n2) { if (n1 > n2") n1 -= n2 else n2 -= n1 } println("G.C.D = $n1") }
Ao executar o programa, a saída é:
G.C.D = =n 9