Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как найти НОД в питоне встроенная функция?

  1. Как найти НОД в питоне встроенная функция?

    Привет, народ! Тут такая тема - недавно начал учить Питон и наткнулся на задачу, где нужно искать НОД двух чисел. Очень хочу понять, есть ли в питоне встроенная функция для этого или придется писать велосипед с нуля? Будет супер, если кто-то скинет пример кода или ссылку на доку. Спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Да, в Python есть встроенная функция для поиска НОД (наибольший общий делитель). Фишка в том, что она находится в модуле math. Вот так это делается:

    Программный код:
    import math

    60
    48

    gcd 
    math.gcd(ab)
    print(
    f'НОД чисел {a} и {b} = {gcd}'
    Документация тут: https://docs.python.org/3/library/math.html#math.gcd

  4. Цитата Сообщение от ArcaneArcher
    Да, в Python есть встроенная функция для поиска НОД (наибольший общий делитель). Фишка в том, что она находится в модуле math. Вот так это делается:

    Программный код:
    import math

    60
    48

    gcd 
    math.gcd(ab)
    print(
    f'НОД чисел {a} и {b} = {gcd}'
    Документация тут: https://docs.python.org/3/library/math.html#math.gcd
    Да, эт правда работает быстро и просто. Избегаешь писать лишний код руками. Респект за пример, прям вот то, что нужно!

  5. Если ты любишь костыли и хардкор, то можешь написать свою функцию для НОД. Это не так уж сложно, если знаешь алгоритм Евклида:

    Программный код:
    def gcd(xy):
    while 
    != 0:
    (
    xy) = (yy)
    return 
    x

    print(gcd(60,48)) 
    Но согласен, встроенная функция рулит

  6. Цитата Сообщение от Евгений Круг
    Если ты любишь костыли и хардкор, то можешь написать свою функцию для НОД. Это не так уж сложно, если знаешь алгоритм Евклида:

    Программный код:
    def gcd(xy):
    while 
    != 0:
    (
    xy) = (yy)
    return 
    x

    print(gcd(60,48)) 
    Но согласен, встроенная функция рулит
    Прикольно, але зачем напрягаться, когда есть готовая фича? Хотя знать как самому писать алгоритмы тоже важно)

  7. Можно еще реализовать через рекурсию, если ты в ней шаришь. Вот пример:

    Программный код:
    def gcd_recur(ab):
    if 
    == 0:
    return 
    a
    else:
    return 
    gcd_recur(bb)

    print(
    gcd_recur(6048)) 
    Но встроенная функция однозначно проще )0

  8. Цитата Сообщение от Кирилл Александрович
    Можно еще реализовать через рекурсию, если ты в ней шаришь. Вот пример:

    Программный код:
    def gcd_recur(ab):
    if 
    == 0:
    return 
    a
    else:
    return 
    gcd_recur(bb)

    print(
    gcd_recur(6048)) 
    Но встроенная функция однозначно проще )0
    Тема крутая, но зачем такие сложности, когда math.gcd уже все за тебя делает? Ну на любителя, конечно...

  9. Полезно знать все варианты, чтобы понимать что под капотом. Но для повседневных задач math.gcd это имба, так что юзай его и радуйся жизни! И не забудь глянуть в доку, там много полезного.

  10. Цитата Сообщение от Денис
    Полезно знать все варианты, чтобы понимать что под капотом. Но для повседневных задач math.gcd это имба, так что юзай его и радуйся жизни! И не забудь глянуть в доку, там много полезного.
    Абсолютно! Чекни, чтоб понимать вообще что тебе питон предлагает из коробки. Всегда лучше юзать что есть, если нет особых причин писать свое.

Страница 1 из 2 12 ПоследняяПоследняя