Programa C para encontrar LCM de dois números

Neste exemplo, você aprenderá a calcular o LCM (menor múltiplo comum) de dois números inseridos pelo usuário.

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

  • Operadores de programação C
  • Declaração C if … else
  • C while e do … while Loop

O LCM de dois inteiros n1 e n2 é o menor inteiro positivo que é perfeitamente divisível por n1 e n2 (sem resto). Por exemplo, o LCM de 72 e 120 é 360.

LCM usando while e if

 #include int main() ( int n1, n2, max; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); // maximum number between n1 and n2 is stored in min max = (n1> n2) ? n1 : n2; while (1) ( if (max % n1 == 0 && max % n2 == 0) ( printf("The LCM of %d and %d is %d.", n1, n2, max); break; ) ++max; ) return 0; ) 

Resultado

 Insira dois números inteiros positivos: 72 120 O LCM de 72 e 120 é 360. 

Neste programa, os inteiros inseridos pelo usuário são armazenados nas variáveis ​​n1 e n2 respectivamente.

O maior número entre n1 e n2 é armazenado no máx. O LCM de dois números não pode ser inferior a máx.

A expressão de teste do whileloop é sempre verdadeira.

Em cada iteração, é verificado se max é perfeitamente divisível por n1 e n2.

 if (min% n1 == 0 && max% n2 == 0) (…) 

Se esta condição de teste não for verdadeira, max é incrementado em 1e a iteração continua até que a expressão de teste da ifinstrução seja verdadeira.

O LCM de dois números também pode ser encontrado usando a fórmula:

 LCM = (num1 * num2) / GCD 

Aprenda a encontrar o GCD de dois números na programação C.

Cálculo LCM usando GCD

 #include int main() ( int n1, n2, i, gcd, lcm; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); for (i = 1; i <= n1 && i <= n2; ++i) ( // check if i is a factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i; ) lcm = (n1 * n2) / gcd; printf("The LCM of two numbers %d and %d is %d.", n1, n2, lcm); return 0; ) 

Resultado

 Insira dois inteiros positivos: 72 120 O LCM de dois números 72 e 120 é 360. 

Artigos interessantes...