{"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmtbr.hatenadiary.org%2Fentry%2F20051207%2Fprogramming\" title=\" 2\u9805\u4fc2\u6570\u306e\u8a08\u7b97\u3067\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u9632\u3050  - mtbr\u306e\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"width":"100%","version":"1.0","type":"rich","title":" 2\u9805\u4fc2\u6570\u306e\u8a08\u7b97\u3067\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u9632\u3050 ","author_name":"mtbr","url":"https://mtbr.hatenadiary.org/entry/20051207/programming","height":"190","categories":["programming"],"provider_url":"https://hatena.blog","description":"/* \u5206\u6570 m/n \u3092\u901a\u5206\u3059\u308b */ int reduce(int *m, int *n) { int g = gcd(*m, *n); *m /= g; *n /= g; } int enum_combination(int n, int k) { /* C(n,k) = n / k * C(n-1,k-1) \u3068\u3044\u3046\u3088\u3046\u306b\u6c42\u3081\u308b */ /* \u7b54\u3048\u304c\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u306a\u3044\u7bc4\u56f2\u306e k \u306f\u3001\u305d\u308c\u307b\u3069\u5927\u304d\u304f\u306a\u3044 (k <- n-k \u306e\u7f6e\u304d\u63db\u3048\u306b\u3088\u308a) \u306e\u3067\u3001\u518d\u5e30\u306f\u305d\u308c\u307b\u3069\u6df1\u304f\u306a\u3089\u306a\u3044 */ if ( n - k < k ) { /* n \u304b\u3089 n-k \u500b\u3068\u3001n \u304b\u3089 k \u500b \u306e\u9078\u3073\u304b\u305f\u306f\u540c\u3058 */ r\u2026","blog_url":"https://mtbr.hatenadiary.org/","author_url":"https://blog.hatena.ne.jp/mtbr/","provider_name":"Hatena Blog","published":"2005-12-07 00:00:00","blog_title":"mtbr\u306e\u65e5\u8a18"}