πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? πŸ€”

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gcd ΠΈΠ· модуля math. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт это:

    import math

    def lcm(a, b):
        return abs(a * b) // math.gcd(a, b)

    num1 = 16
    num2 = 24

    result = lcm(num1, num2)
    print(f"НаимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ чисСл {num1} ΠΈ {num2} Ρ€Π°Π²Π½ΠΎ {result}.")
    
Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ lcm, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° - числа, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ math.gcd, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ наибольший ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ этих чисСл, ΠΈ примСняСм Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ lcm = abs(a * b) // gcd(a, b) для нахоТдСния наимСньшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ чисСл 16 ΠΈ 24 ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экран. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ значСния num1 ΠΈ num2 Π½Π° свои собствСнныС числа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€ чисСл. Π£Π΄Π°Ρ‡ΠΈ Π² использовании этого ΠΊΠΎΠ΄Π°!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΉΡ‚ΠΈ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

НаимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ (НОК) Π΄Π²ΡƒΡ… чисСл - это наимСньшСС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСлится Π½Π° ΠΎΠ±Π° Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… числа Π±Π΅Π· остатка. Π’ Python ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы нахоТдСния НОК, ΠΈ ΠΌΡ‹ рассмотрим нСсколько ΠΈΠ· Π½ΠΈΡ….

1. ИспользованиС Ρ†ΠΈΠΊΠ»Π° while

Один ΠΈΠ· способов нахоТдСния НОК Π΄Π²ΡƒΡ… чисСл - это использованиС Ρ†ΠΈΠΊΠ»Π° while. ΠœΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с максимального ΠΈΠ· Π΄Π²ΡƒΡ… чисСл ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠΊΠ° число Π½Π΅ станСт ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΎΠ±ΠΎΠΈΠΌ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ числам.


def find_lcm(num1, num2):
    lcm = max(num1, num2)

    while True:
        if lcm % num1 == 0 and lcm % num2 == 0:
            return lcm
        lcm += 1

num1 = 12
num2 = 18
lcm = find_lcm(num1, num2)
print(f"НаимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ чисСл {num1} ΠΈ {num2} Ρ€Π°Π²Π½ΠΎ {lcm}")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ find_lcm, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° числа num1 ΠΈ num2. ΠœΡ‹ устанавливаСм Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НОК Π² качСствС максимального ΠΈΠ· Π΄Π²ΡƒΡ… чисСл. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» while для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НОК ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΎΠ±ΠΎΠΈΠΌ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ числам. Если Π΄Π°, ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если Π½Π΅Ρ‚, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НОК ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΠΌ НОК.

2. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нахоТдСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля (ΠΠžΠ”)

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ нахоТдСния НОК Π΄Π²ΡƒΡ… чисСл - это использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нахоТдСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля (ΠΠžΠ”). ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ math.gcd для нахоТдСния ΠΠžΠ” Π΄Π²ΡƒΡ… чисСл ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ НОК = (число1 * число2) / ΠΠžΠ”.


import math

def find_lcm(num1, num2):
    gcd = math.gcd(num1, num2)
    lcm = (num1 * num2) // gcd
    return lcm

num1 = 12
num2 = 18
lcm = find_lcm(num1, num2)
print(f"НаимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ чисСл {num1} ΠΈ {num2} Ρ€Π°Π²Π½ΠΎ {lcm}")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gcd для нахоТдСния ΠΠžΠ” Π΄Π²ΡƒΡ… чисСл. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ НОК = (число1 * число2) / ΠΠžΠ”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ НОК. ΠœΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° экран.

3. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ numpy

Если Ρƒ вас установлСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ lcm для нахоТдСния НОК Π΄Π²ΡƒΡ… чисСл. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import numpy as np

num1 = 12
num2 = 18
lcm = np.lcm(num1, num2)
print(f"НаимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ чисСл {num1} ΠΈ {num2} Ρ€Π°Π²Π½ΠΎ {lcm}")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ numpy ΠΏΠΎΠ΄ псСвдонимом np. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ lcm, пСрСдавая Π΅ΠΉ Π΄Π²Π° числа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ НОК. ΠœΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° экран.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов нахоТдСния наимСньшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ (НОК) Π΄Π²ΡƒΡ… чисСл Π² Python. ΠœΡ‹ использовали Ρ†ΠΈΠΊΠ» while, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ нахоТдСния наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля (ΠΠžΠ”) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NumPy. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой ΠΈΠ· этих способов Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ПишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ: нахоТдСния ΠΠžΠ” ΠΈ НОК Π΄Π²ΡƒΡ… чисСл | Алгоритм Π•Π²ΠΊΠ»ΠΈΠ΄Π°

#37. Алгоритм Π•Π²ΠΊΠ»ΠΈΠ΄Π° для нахоТдСния ΠΠžΠ” | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

НаимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅. 5 класс.

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись Π² JSON Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python? ΠžΡ‚Π²Π΅Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹!

Как ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ Π² Python 🐍 | ΠŸΡ€ΠΎΡΡ‚Π°Ρ инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ наимСньшСС ΠΎΠ±Ρ‰Π΅Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? πŸ€”

πŸ”§ Как ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² exe python ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для использования

πŸ”’ Как Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ пСрСвСсти тСкст Π² число Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции

πŸ” Как Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Python: подробная инструкция ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°