MCPcopy
hub / github.com/TheAlgorithms/Python / kg_v

Function kg_v

maths/primelib.py:447–532  ·  view source on GitHub ↗

Least common multiple input: two positive integer 'number1' and 'number2' returns the least common multiple of 'number1' and 'number2' >>> kg_v(8,10) 40 >>> kg_v(824,67) 55208 >>> kg_v(1, 10) 10 >>> kg_v(0) Traceback (most recent call last): ...

(number1, number2)

Source from the content-addressed store, hash-verified

445
446
447def kg_v(number1, number2):
448 """
449 Least common multiple
450 input: two positive integer 'number1' and 'number2'
451 returns the least common multiple of 'number1' and 'number2'
452
453 >>> kg_v(8,10)
454 40
455 >>> kg_v(824,67)
456 55208
457 >>> kg_v(1, 10)
458 10
459 >>> kg_v(0)
460 Traceback (most recent call last):
461 ...
462 TypeError: kg_v() missing 1 required positional argument: 'number2'
463 >>> kg_v(10,-1)
464 Traceback (most recent call last):
465 ...
466 AssertionError: 'number1' and 'number2' must been positive integer.
467 >>> kg_v("test","test2")
468 Traceback (most recent call last):
469 ...
470 AssertionError: 'number1' and 'number2' must been positive integer.
471 """
472
473 # precondition
474 assert (
475 isinstance(number1, int)
476 and isinstance(number2, int)
477 and (number1 >= 1)
478 and (number2 >= 1)
479 ), "'number1' and 'number2' must been positive integer."
480
481 ans = 1 # actual answer that will be return.
482
483 # for kgV (x,1)
484 if number1 > 1 and number2 > 1:
485 # builds the prime factorization of 'number1' and 'number2'
486 prime_fac_1 = prime_factorization(number1)
487 prime_fac_2 = prime_factorization(number2)
488
489 elif number1 == 1 or number2 == 1:
490 prime_fac_1 = []
491 prime_fac_2 = []
492 ans = max(number1, number2)
493
494 count1 = 0
495 count2 = 0
496
497 done = [] # captured numbers int both 'primeFac1' and 'primeFac2'
498
499 # iterates through primeFac1
500 for n in prime_fac_1:
501 if n not in done:
502 if n in prime_fac_2:
503 count1 = prime_fac_1.count(n)
504 count2 = prime_fac_2.count(n)

Callers

nothing calls this directly

Calls 3

prime_factorizationFunction · 0.85
countMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected