#include <stdio.h>
unsigned long long product(int n) {
unsigned long long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("n を入力してください(0以上の整数): ");
if (n < 0) {
printf("エラー: 0以上の整数を入力してください。\n"); return 1;
}
unsigned long long result = product(n);
printf("1から%dまでの積(%d!)は %llu です。\n", n
, n
, result
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp1bnNpZ25lZCBsb25nIGxvbmcgcHJvZHVjdChpbnQgbikgewogICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3VsdCA9IDE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICByZXN1bHQgKj0gaTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7Cn0KCmludCBtYWluKCkgewogICAgaW50IG47CgogICAgcHJpbnRmKCJuIOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhO+8iDDku6XkuIrjga7mlbTmlbDvvIk6ICIpOwogICAgc2NhbmYoIiVkIiwgJm4pOwoKICAgIGlmIChuIDwgMCkgewogICAgICAgIHByaW50Zigi44Ko44Op44O8OiAw5Lul5LiK44Gu5pW05pWw44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCXG4iKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzdWx0ID0gcHJvZHVjdChuKTsKICAgIHByaW50ZigiMeOBi+OCiSVk44G+44Gn44Gu56mN77yIJWQh77yJ44GvICVsbHUg44Gn44GZ44CCXG4iLCBuLCBuLCByZXN1bHQpOwoKICAgIHJldHVybiAwOwp9