给定数字n,任务是确定n是否可以是某个数字x的阶乘
例子:
Input: N = 24
Output: Yes
Explanation: 4! = 24
Input: N = 25
Output: No
方法:
下面是上述方法的实现:
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;
}
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
输出:
Yes