#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int comb(int m, int k) {
return factorial(m) / (factorial(k) * factorial(m - k));
}
int main() {
int m, k;
printf("mの値を12以下で入力してください: ");
int result = comb(m, k);
printf("\n%d個の中から%d個を取り出す組合せ数は、%d通りです。\n", m
, k
, result
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZmFjdG9yaWFsKGludCBuKSB7CiAgICBpbnQgcmVzdWx0ID0gMTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIHJlc3VsdCAqPSBpOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfQoKaW50IGNvbWIoaW50IG0sIGludCBrKSB7CiAgICByZXR1cm4gZmFjdG9yaWFsKG0pIC8gKGZhY3RvcmlhbChrKSAqIGZhY3RvcmlhbChtIC0gaykpOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBtLCBrOwoKICAgIHByaW50ZigibeOBruWApOOCkjEy5Lul5LiL44Gn5YWl5Yqb44GX44Gm44GP44Gg44GV44GEOiAiKTsKICAgIHNjYW5mKCIlZCIsICZtKTsKCiAgICBwcmludGYoIlxua+OBruWApOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIik7CiAgICBzY2FuZigiJWQiLCAmayk7CgogICAgaW50IHJlc3VsdCA9IGNvbWIobSwgayk7CiAgICBwcmludGYoIlxuJWTlgIvjga7kuK3jgYvjgoklZOWAi+OCkuWPluOCiuWHuuOBmee1hOWQiOOBm+aVsOOBr+OAgSVk6YCa44KK44Gn44GZ44CCXG4iLCBtLCBrLCByZXN1bHQpOwoKICAgIHJldHVybiAwOwp9Cg==