Programma per trovare LCM in C

LCM o minimo comune multiplo di due valori, è il valore positivo più piccolo che è il multiplo di entrambi i valori.

For example multipli di 3 e 4 sono -

3 → 3, 6, 9, 12, 15 ...

4 → 4, 8, 12, 16, 20 ...

Il multiplo più piccolo di entrambi è 12, quindi il LCM di 3 e 4 è 12.

Algoritmo

L'algoritmo di questo programma può essere derivato come:

START
   Step 1 → Initialize A and B with positive integers
   Step 2 → Store maximum of A & B to max
   Step 3 → Check if max is divisible by A and B
   Step 4 → If divisible, Display max as LCM
   Step 5 → If not divisible then step increase max, goto step 3
STOP

Pseudocodice

Deriviamo ora lo pseudocodice per questo programma -

procedure even_odd()
   
   Initialize A and B
   max = max(A, B)
   WHILE TRUE
      IF max is divisible by A and B THEN
         LCM = max
         BREAK
      ENDIF
      Increment max
   END WHILE
   DISPLAY LCM

end procedure

Implementazione

L'implementazione di questo algoritmo è fornita di seguito:

#include<stdio.h>

int main() {
   int a, b, max, step, lcm;

   a   = 3;
   b   = 4;
   lcm = 0;

   if(a > b)
      max = step = a;
   else
      max = step = b;

   while(1) {
      if(max%a == 0 && max%b == 0) {
         lcm = max;
         break;    
      }

      max += step;
   }

   printf("LCM is %d", lcm);
   return 0;
}

Produzione

Il risultato del programma dovrebbe essere:

LCM is 12