Least common multiple: a concept in number theory, where a multiple of two integers becomes their common multiple, and one of the smallest common multiple is their least common multiple, in the same way that the smallest positive integers in multiple public multiples of several integers are called their least common multiple, Wikipedia: Define Click to open link
least common multiple algorithm :
least common multiple = product of two integers ÷ Greatest Common Divisor
greatest common Divisor algorithm :
(1) Euclidean method
There are two integers a and the b :
① a%b to the remainder C
② if c=0 , you b that is, the greatest common divisor of two numbers.
③ If c≠0 , you a=b , B=c , and then go back to running ①
For example, "27 and 15
27÷15 Yu A 15÷12 Yu 3 12÷3 Yu 0 therefore, 3 that is the greatest common divisor
#include <stdio.h>void main ()/*/greatest common divisor =/ { int m, n, a, B, T, C; printf ("Input, Integer numbers:\n"); scanf ("%d%d", &a, &b); M=a; n=b; while (b!=0)/ * Remainder is not 0, continue to divide until the remainder is 0 */ {c=a%b; a=b; B=c;} printf ("The largest common divisor:%d\n", a); printf ("The least common multiple:%d\n", m*n/a);}
⑵ Phase Subtraction
There are two integers a and B:
① if a>b, then A=a-b
② if a<b, then b=b-a
③ if a=b, a (or b) is a two-digit greatest common divisor
④ if a≠b, then go back to run ①
For example, the greatest common divisor process for 27 and 15 is:
27-15=12 (15>12) 15-12=3 (12>3)
12-3=9 (9>3) 9-3=6 (6>3)
6-3=3 (3==3)
Therefore, 3 is the greatest common divisor
#include <stdio.h>void main ()/ * Subtract greatest common divisor */{ int m, n, a, b, C; printf ("Input, Integer numbers:\n"); scanf ("%d,%d", &a, &b); m=a; n=b; /* A, B is unequal, and the large number decreases until it is equal. * /while (a!=b) if (a>b) a=a-b; else b=b-a; printf ("The largest common divisor:%d\n", a); printf ("The least common multiple:%d\n", m*n/a);}
⑶ Poor Lifting method
There are two integers a and B:
①i=1
② If a, B can be divisible by I at the same time, then t=i
③i++
④ If I <= a (or b), then go back to run ②
⑤ If i > A (or b), then T is greatest common divisor, ending
Improved:
①i= A (or b)
② If a, B can be divisible by I at the same time, then I is greatest common divisor,
End
③i--, go back and run ②.
There are two integers a and B:
①i=1
② If a, B can be divisible by I at the same time, then t=i
③i++
④ If I <= a (or b), then go back to run ②
⑤ If i > A (or b), then T is greatest common divisor, ending
Improved:
①i= A (or b)
② If a, B can be divisible by I at the same time, then I is greatest common divisor,
End
③i--, go back and run ②.
#include <stdio.h>void main ()/ * Exhaustive method for greatest common divisor */{ int m, n, a, B, I, t; printf ("Input, Integer numbers:\n"); scanf ("%d,%d", &a, &b); m=a; n=b; for (I=1; i<= A; i++) if (a%i = = 0 && b%i ==0) t=i; printf ("The largest common divisor:%d\n", t); printf ("The least common multiple:%d\n", m*n/t);} /* Improved for (t= A; t>0; t--) if (a%t = = 0 && b%t ==0) break ; */
The method of least common multiple for (i= A;; i++) if (i% A = = 0 && i% b ==0) break ; printf ("The least common multiple:%d\n", i)//multiple numbers of greatest common divisor and least common multiple for (i= A; i>0; i--) if (a%i==0&&b%i==0 &&c%i==0) break ; printf ("The largest common divisor:%d\n", i); for (i= A;; i++) if (i%a==0&&i%b==0&&i% c==0) break ; printf ("The least common multiple:%d\n", i)
Common algorithms: C language for least common multiple and greatest common divisor three kinds of algorithms