#include <stdio.h>
int kaijo(int n) {
int i, result = 1;
for(i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int comb(int m, int k) {
return kaijo(m) / (kaijo(k) * kaijo(m - k));
}
int main() {
int m, k;
printf("%d個の中から%d個を取り出す組合せ数は、%d通りです。\n", m
, k
, comb
(m
, k
));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgoKaW50IGthaWpvKGludCBuKSB7CiAgICBpbnQgaSwgcmVzdWx0ID0gMTsKICAgIGZvcihpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICByZXN1bHQgKj0gaTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7Cn0KCgppbnQgY29tYihpbnQgbSwgaW50IGspIHsKICAgIHJldHVybiBrYWlqbyhtKSAvIChrYWlqbyhrKSAqIGthaWpvKG0gLSBrKSk7Cn0KCmludCBtYWluKCkgewogICAgaW50IG0sIGs7CiAgICAKICAgIHNjYW5mKCIlZCIsICZtKTsKICAgIHByaW50ZigibeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhO+8miVkXG4iLG0pOwoKICAgIAogICAgc2NhbmYoIiVkIiwgJmspOwogICAgcHJpbnRmKCJr44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE77yaJWRcbiIsayk7CgogICAgcHJpbnRmKCIlZOWAi+OBruS4reOBi+OCiSVk5YCL44KS5Y+W44KK5Ye644GZ57WE5ZCI44Gb5pWw44Gv44CBJWTpgJrjgorjgafjgZnjgIJcbiIsIG0sIGssIGNvbWIobSwgaykpOwoKICAgIHJldHVybiAwOwp9Cg==