C++相談室 part14
■ このスレッドは過去ログ倉庫に格納されています
0783デフォルトの名無しさん
NGNG>>778
残るは順列と組合せだけ。記憶を頼りに書いてみます。
#include <iostream>
// 順列
template<int M, int N> struct P {
enum{ value = M * P<M - 1, N - 1>::value };
};
template<int M> struct P<M, 0> {
enum{ value = 1 };
};
// 組合せ
template<int M, int N> struct C {
enum{ value = C<M - 1, N>::value + C<M - 1, N - 1>::value };
};
template<int M> struct C<M, 0> {
enum{ value = 1 };
};
template<int M> struct C<M, M> {
enum{ value = 1 };
};
int main() {
std::cout << P<5, 3>::value << ", " << C<5, 3>::value << std::endl;
}
■ このスレッドは過去ログ倉庫に格納されています