# Check if a given number is factorial of any number

• Difficulty Level : Easy
• Last Updated : 26 May, 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```

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"``);` `  ``}` `}`   `// Thiss 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
Recommended Articles
Page :