встроенная функция std :: __gcd () для c ++ не работает на Ma c OS Xcode - PullRequest
0 голосов
/ 09 апреля 2020

Встроенная функция __gcd () не работает на XCode macOS. Я запустил следующий код на Xcode (macOS Catalina), он показывает ошибку «Использование необъявленного идентификатора« __gcd »».

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    cout << "gcd(6, 20) = " << __gcd(6, 20) << endl;
    return 0;

}

, пожалуйста, помогите мне

Ответы [ 2 ]

3 голосов
/ 09 апреля 2020

Вы можете использовать один из <numeric>, если вы компилируете с -std=c++17

#include <numeric>

int main()
{
    std::cout << "gcd(6, 20) = " << std::gcd(6, 20) << std::endl;
    return 0;
}
0 голосов
/ 09 апреля 2020

std :: gcd () доступен в c ++ 17

в противном случае,

GCD для двух неотрицательных целых чисел легко вычисляется:

int gcd(int a, int b){ int c = a % b; while(c != 0) { a = b; b = c; c = a % b; } return b;}

ср. https://www.gamedev.net/forums/topic/358629-built-in-c-command-for-gcd/3354131/

...