# Check if a given number is factorial of any number

• Difficulty Level : Easy
• Last Updated : 15 Sep, 2022

Given a number n, the task is to determine whether n can be a factorial of some number x
Examples:

```Input: N = 24
Output: Yes
Explanation: 4! = 24

Input: N = 25
Output: No```

Recommended Practice

Approach:
Below is the implementation of the above approach:

## C++

 `// C++ implementation for``// the above approach``#include ``using` `namespace` `std;` `// Function to check if``// the given number is a``// factorial of any number``bool` `isFactorial(``int` `n)``{``  ``for` `(``int` `i = 1;; i++) {``    ``if` `(n % i == 0) {``      ``n /= i;``    ``}``    ``else` `{``      ``break``;``    ``}``  ``}` `  ``if` `(n == 1) {``    ``return` `true``;``  ``}``  ``else` `{``    ``return` `false``;``  ``}``}` `// Driver Code``int` `main()``{``  ``int` `n = 24;` `  ``bool` `ans = isFactorial(n);``  ``if` `(ans == 1) {``    ``cout << ``"Yes\n"``;``  ``}``  ``else` `{``    ``cout << ``"No\n"``;``  ``}` `  ``return` `0;``}`

## C

 `// C implementation for``// the above approach``#include ``#include` `// Function to check if``// the given number is a``// factorial of any number``bool` `isFactorial(``int` `n)``{``  ``for` `(``int` `i = 1;; i++) {``    ``if` `(n % i == 0) {``      ``n /= i;``    ``}``    ``else` `{``      ``break``;``    ``}``  ``}`` ` `  ``if` `(n == 1) {``    ``return` `true``;``  ``}``  ``else` `{``    ``return` `false``;``  ``}``}` `// Driver code``int` `main()``{``    ``int` `n = 24;`` ` `  ``bool` `ans = isFactorial(n);``  ``if` `(ans == 1) {``    ``printf``(``"Yes\n"``);``  ``}``  ``else` `{``    ``printf``(``"No\n"``);``  ``}``}` `// This code is contributed by allwink45.`

## Java

 `// Java implementation for the above approach``class` `GFG``{` `    ``// Function to check if the given number``    ``// is a factorial of any number``    ``static` `boolean` `isFactorial(``int` `n)``    ``{``        ``for` `(``int` `i = ``1``;; i++)``        ``{``            ``if` `(n % i == ``0``)``            ``{``                ``n /= i;``            ``}``            ``else``            ``{``                ``break``;``            ``}``        ``}``    ` `        ``if` `(n == ``1``)``        ``{``            ``return` `true``;``        ``}``        ``else``        ``{``            ``return` `false``;``        ``}``    ``}``    ` `    ``// Driver Code``    ``public` `static` `void` `main (String[] args)``    ``{``        ``int` `n = ``24``;``        ``boolean` `ans = isFactorial(n);``        ` `        ``if` `(ans == ``true``)``        ``{``            ``System.out.println(``"Yes"``);``        ``}``        ``else``        ``{``            ``System.out.println(``"No"``);``        ``}``    ``}``}` `// This code is contributed by AnkitRai01`

## Python3

 `# Python3 implementation of the approach` `# Function to check if``# the given number is a``# factorial of any number``def` `isFactorial(n) :``    ``i ``=` `1``;``    ``while``(``True``) :``        ` `        ``if` `(n ``%` `i ``=``=` `0``) :``            ``n ``/``/``=` `i;``            ` `        ``else` `:``            ``break``;``            ` `        ``i ``+``=` `1``;` `    ``if` `(n ``=``=` `1``) :``        ``return` `True``;``    ` `    ``else` `:``        ``return` `False``;` `# Driver Code``if` `__name__ ``=``=` `"__main__"` `:``    ``n ``=` `24``;``    ``ans ``=` `isFactorial(n);``    ` `    ``if` `(ans ``=``=` `1``) :``        ``print``(``"Yes"``);` `    ``else` `:``        ``print``(``"No"``);` `# This code is contributed by kanugargng`

## C#

 `// C# implementation for the above approach``using` `System;``    ` `class` `GFG``{` `    ``// Function to check if the given number``    ``// is a factorial of any number``    ``static` `Boolean isFactorial(``int` `n)``    ``{``        ``for` `(``int` `i = 1;; i++)``        ``{``            ``if` `(n % i == 0)``            ``{``                ``n /= i;``            ``}``            ``else``            ``{``                ``break``;``            ``}``        ``}``    ` `        ``if` `(n == 1)``        ``{``            ``return` `true``;``        ``}``        ``else``        ``{``            ``return` `false``;``        ``}``    ``}``    ` `    ``// Driver Code``    ``public` `static` `void` `Main (String[] args)``    ``{``        ``int` `n = 24;``        ``Boolean ans = isFactorial(n);``        ` `        ``if` `(ans == ``true``)``        ``{``            ``Console.WriteLine(``"Yes"``);``        ``}``        ``else``        ``{``            ``Console.WriteLine(``"No"``);``        ``}``    ``}``}` `// This code is contributed by 29AjayKumar`

## Javascript

 ``

Output

`Yes`

Time Complexity: O(log10n)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up