English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Recueil complet d'exemples de programmation en C
Dans cet exemple, vous apprendrez à calculer le LCM (le plus petit commun multiple) de deux nombres saisis par l'utilisateur.
Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation CThème :
Deux entiers entiers n1et n2Le LCM est le plus petit entier positif qui peut être divisé par n1et n2Divisible sans reste. Par exemple,72et12Le LCM le plus petit (LCM) de 0 est360。
#include <stdio.h> int main() { int n1, n2, min; printf("Entrez deux entiers positifs: "); scanf("%d %d", &n1, &n2); //n1et n2La valeur maximale entre elles est stockée dans min min = (n1 > n2) ? n1 : n2; while (1) { if (min % n1 == 0 && min % n2 == 0) { printf("Le LCM de %d et %d est %d.", n1, n2, min); break; } ++min; } return 0; }
Résultat de sortie
Entrez deux entiers positifs: 72 120 72et12Le LCM de 0 est360。
Dans ce programme, les entiers saisis par l'utilisateur sont stockés dans les variables n1et n2.
n1et n2La valeur maximale stockée dans min, le LCM des deux nombres ne peut pas être inférieur à min.
L'expression de test de la boucle while est toujours vraie.
Dans chaque itération, vérifier si min peut être divisé par n1et n2Divisible sans reste.
if (min % n1 == 0 && min % n2 == 0) { ... }
Si cette condition de test n'est pas vraie, alors min augmente1,et continuer à itérer jusqu'à ce que l'expression de test de la condition if soit vraie.
On peut également utiliser la formule suivante pour trouver le LCM de deux nombres :
LCM = (num1*num2)/GCD
Apprendre à trouver GCD en programmation CLe GCD de deux nombres.
#include <stdio.h> int main() { int n1, n2, i, gcd, lcm; printf("Entrez deux entiers positifs: "); scanf("%d %d", &n1, &n2); for (i = 1; i <= n1 && i <= n2; ++i) { // Vérifier si i est un facteur commun de deux entiers if (n1 %i == 0 && n2 %i == 0) gcd = i; } lcm = (n1 * n2) / gcd; printf("Le LCM de deux nombres %d et %d est %d.", n1, n2, lcm); return 0; }
Résultat de sortie
Entrez deux entiers positifs: 78 150 deux nombres78et15Le LCM de 0 est1950。