再帰関数の練習とも言える問題。問題文に書いてある通りに実装すればよい。
問題概要
非負整数 に対して定義される関数 は次のように定義される。
- のとき、
非負整数値 が与えられるので、 の値を求めよ。
制約
考えたこと
この問題は再帰関数と呼ばれるものを題材としている。
ただし、再帰関数の知識がなくても、問題文に書いてある通りに実装すれば AC となる。関数 は次のように実装できる(C++)。
int f(int k) { if (k == 0) return 1; else return k * f(k - 1); }
この関数 を用いて、 の返り値を答えれば良い。
コード
#include <bits/stdc++.h> using namespace std; int f(int k) { if (k == 0) return 1; else return k * f(k - 1); } int main() { int N; cin >> N; cout << f(N) << endl; }