File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ #include <stdio.h>
2+ #include <stdlib.h>
3+
4+ long get_gcd_euclidian (long d1 , long d2 )
5+ {
6+ /* swap the numbers if d2 is greater than d1 */
7+ if (d2 > d1 ) {
8+ d1 = d1 - d2 ;
9+ d2 = d1 + d2 ;
10+ d1 = d2 - d1 ;
11+ }
12+
13+ if (d2 == 0 ) {
14+ return d1 ;
15+ }
16+
17+ long rem = d1 % d2 ;
18+
19+ return get_gcd_euclidian (d2 , rem );
20+ }
21+
22+ long get_lcm_euclidian (long val1 , long val2 )
23+ {
24+ if (val1 == 0 || val2 == 0 ) {
25+ return 0 ;
26+ }
27+
28+ long prod = (long ) (val1 * val2 );
29+ long gcd = get_gcd_euclidian (val1 , val2 );
30+
31+ return (prod /gcd );
32+ }
33+
34+ int main (int argc , char * * argv )
35+ {
36+ long ip1 = 0 ;
37+ long ip2 = 0 ;
38+ scanf ("%ld %ld" , & ip1 , & ip2 );
39+ printf ("%ld" , get_lcm_euclidian (ip1 , ip2 ));
40+
41+ return 0 ;
42+ }
You can’t perform that action at this time.
0 commit comments