Introduction
Leçon 13 sur 20 du cours Énigmes mathématiques de Coddy.
Le plus petit commun multiple de deux entiers x et y, généralement noté LCM(x,y), est le plus petit entier positif divisible à la fois par x et y.
Par exemple :
- LCM(24, 16) = 48
- LCM(3, 5) = 15
- LCM(4, 6) = 12.
Il est utilisé pour additionner des fractions.
Exemple : 7/24+5/16 = 7 * (2/48) + 5 * (3/48) = (14+15) / 48 = 29/48.
Il est utilisé pour déterminer quand certains couples ayant des périodes spécifiques se rencontreront à nouveau. Exemple : Dan vient boire une bière tous les trois soirs, et John tous les quatre. Ainsi, ils se rencontreront une fois tous les 12 soirs.
Il est lié au plus grand commun diviseur via :
LCM(x, y) = (x * y) / GCD(x, y)
Défi
FacileÉcrivez une fonction calcLCM qui reçoit un vecteur de deux entiers, v, et calcule le plus petit nombre pouvant être divisé par chacun de ces nombres sans aucun reste.
Essayez vous-même
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int v[4096];
int vn = 0;
char line[65536];
if (!fgets(line, sizeof(line), stdin)) line[0] = '\0';
char* tok = strtok(line, " \t\r\n");
while (tok) { v[vn++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
int r = calcLCM(v, vn);
printf("%d\n", r);
return 0;
}