最初に
C++で書いた、順列(nPr)コードです。表記
順列重複順列
円順列
情報
WikipediaC++コード
/** * 順列:異なるn個のものから、任意にr個とって1列に並べた順列の数 * @param [in] n 要素数 * @param [in] r n個からr個とる数 * @return 順列の数 */ template<typename IntType> IntType nPr(IntType n, IntType r) { if ( n < r ) return 0; else if ( r == 0 ) return 1; else if ( r == 1 ) return n; IntType i, result = 1; for ( i = n; i > n - r; --i ) result *= i; return result; }