English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste exemplo, você aprenderá como calcular o LCM (mínimo múltiplo comum) de dois números digitados pelo usuário.
Para entender este exemplo, você deve entender o seguinteProgramação CTema:
dois inteiros n1e n2o LCM é o menor inteiro positivo que pode ser dividido por n1e n2dividem completamente (sem resto). Por exemplo,72e12O LCM mais pequeno (LCM) é360。
#include <stdio.h> int main() { int n1, n2, min; printf("Digite dois inteiros positivos: "); scanf("%d %d", &n1, &n2); //n1e n2O maior valor entre eles é armazenado em min min = (n1 > n2) ? n1 : n2; while (1) { if (min % n1 == 0 && min % n2 == 0) { printf("O LCM de %d e %d é %d.", n1, n2, min); break; } ++min; } return 0; }
Resultado de saída
Digite dois inteiros positivos: 72 120 72e12O LCM de 0 é360。
Neste programa, os inteiros digitados pelo usuário são armazenados nas variáveis n1e n2。
n1e n2o maior valor armazenado em min, o LCM dos dois números não pode ser menor que min.
expressão de teste do loop while sempre for verdadeira.
Verifique se o min pode ser dividido por n1e n2dividem completamente.
if (min % n1 == 0 && min % n2 == 0) { ... }
Se esta condição de teste não for verdadeira, o min aumentará1e continue iterando até que a expressão de teste do comando if seja verdadeira.
Também pode usar a seguinte fórmula para encontrar o LCM de dois números:
LCM = (num1*num2)/GCD
Entenda como encontrar GCD em programação CO GCD de dois números。
#include <stdio.h> int main() { int n1, n2, i, gcd, lcm; printf("Digite dois inteiros positivos: "); scanf("%d %d", &n1, &n2); for (i = 1; i <= n1 && i <= n2; ++i) { // Verificar se i é um fator comum de dois inteiros if (n1 %i == 0 && n2 %i == 0) gcd = i; } lcm = (n1 * n2) / gcd; printf("Os dois números %d e %d têm LCM %d.", n1, n2, lcm); return 0; }
Resultado de saída
Digite dois inteiros positivos: 78 150 dois números78e15O LCM de 0 é1950。