참조 용으로 아래 주어진 재귀 적 유클리드 알고리즘을 사용하여 두 숫자의 GCD를 찾는 문제에 대한 템플릿 메타 프로그래밍 해결책을 알고 싶습니다.C++에서 템플릿 메타 프로그래밍을 사용하여, 두 개의 정수의 GCD를 찾으십시오
function gcd(a, b)
if b = 0
return a;
else
return gcd(b, a mod b);
도움이 되었으면 도움이 될 것입니다.
참조 용으로 아래 주어진 재귀 적 유클리드 알고리즘을 사용하여 두 숫자의 GCD를 찾는 문제에 대한 템플릿 메타 프로그래밍 해결책을 알고 싶습니다.C++에서 템플릿 메타 프로그래밍을 사용하여, 두 개의 정수의 GCD를 찾으십시오
function gcd(a, b)
if b = 0
return a;
else
return gcd(b, a mod b);
도움이 되었으면 도움이 될 것입니다.
이와 비슷한?
#include <utility>
#include <iostream>
template<int a, int b> struct gcd
{
static constexpr auto value = gcd<b, a % b>::value;
};
template<int a>
struct gcd<a, 0>
{
static constexpr auto value = a;
};
int main()
{
auto x = gcd<10,5>::value;
std::cout << x << std::endl;
}
특수 버전에서는 struct gcd
@VarunRao 템플릿 매개 변수가 사용되는 방식이 아니기 때문입니다. 당신은'printf (const char * "My Text");' – Caleth
@ VarunRao를 시험해보고 사용하지 마십시오. –
이 문제는 코드 요청이므로 문제를 해결하는 코드가 아니기 때문에이 질문을 주제와 관련이 없으므로 닫으려고합니다. OP는 숟가락으로 먹는 것보다 해결책을 찾아 냄으로써 더 많은 것을 배우게됩니다. – Peter