# Count factorial numbers in given range

Here given code implementation process.

``````// C program
// Count factorial numbers in given range
#include <stdio.h>

//Count the number of factorials in given range
void count_factorial(int front, int back)
{
if (front > back)
{
//Transform into a valid range
count_factorial(back, front);
}
else
{
int result = 0;
//Define loop controlling variables
int counter = 1;
int factorial = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial * counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result++;
}
counter++;
}
printf("\n Factorial in range [%d,%d] is : %d", front, back, result);
}
}
int main()
{
//Test case
count_factorial(0, 200);
count_factorial(300, 1000);
count_factorial(1000, 2000);
count_factorial(0, 0);
count_factorial(1, 2);
count_factorial(6000, 0);
return 0;
}``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````/*
Java program
Count factorial numbers in given range
*/
class Factorials
{
//Count the number of factorials in given range
public void count_factorial(int front, int back)
{
if (front > back)
{
//Transform into a valid range
count_factorial(back, front);
}
else
{
int result = 0;
//Define loop controlling variables
int counter = 1;
int factorial = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial * counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result++;
}
counter++;
}
System.out.print("\n Factorial in range [" + front + "," + back + "] is : " + result);
}
}
public static void main(String[] args)
{
Factorials obj = new Factorials();
//Test case
obj.count_factorial(0, 200);
obj.count_factorial(300, 1000);
obj.count_factorial(1000, 2000);
obj.count_factorial(0, 0);
obj.count_factorial(1, 2);
obj.count_factorial(6000, 0);
}
}``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````//Include header file
#include <iostream>
using namespace std;

/*
C++ program
Count factorial numbers in given range
*/

class Factorials
{
public:
//Count the number of factorials in given range
void count_factorial(int front, int back)
{
if (front > back)
{
//Transform into a valid range
this->count_factorial(back, front);
}
else
{
int result = 0;
//Define loop controlling variables
int counter = 1;
int factorial = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial *counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result++;
}
counter++;
}
cout << "\n Factorial in range [" << front << "," << back << "] is : " << result;
}
}
};
int main()
{
Factorials obj = Factorials();
//Test case
obj.count_factorial(0, 200);
obj.count_factorial(300, 1000);
obj.count_factorial(1000, 2000);
obj.count_factorial(0, 0);
obj.count_factorial(1, 2);
obj.count_factorial(6000, 0);
return 0;
}``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````//Include namespace system
using System;
/*
C# program
Count factorial numbers in given range
*/
class Factorials
{
//Count the number of factorials in given range
public void count_factorial(int front, int back)
{
if (front > back)
{
//Transform into a valid range
count_factorial(back, front);
}
else
{
int result = 0;
//Define loop controlling variables
int counter = 1;
int factorial = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial * counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result++;
}
counter++;
}
Console.Write("\n Factorial in range [" + front + "," + back + "] is : " + result);
}
}
public static void Main(String[] args)
{
Factorials obj = new Factorials();
//Test case
obj.count_factorial(0, 200);
obj.count_factorial(300, 1000);
obj.count_factorial(1000, 2000);
obj.count_factorial(0, 0);
obj.count_factorial(1, 2);
obj.count_factorial(6000, 0);
}
}``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````<?php
/*
Php program
Count factorial numbers in given range
*/
class Factorials
{
//Count the number of factorials in given range
public	function count_factorial(\$front, \$back)
{
if (\$front > \$back)
{
//Transform into a valid range
\$this->count_factorial(\$back, \$front);
}
else
{
\$result = 0;
//Define loop controlling variables
\$counter = 1;
\$factorial = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (\$factorial <= \$back)
{
//Calculate factorial
\$factorial = \$factorial * \$counter;
if (\$factorial >= \$front && \$factorial <= \$back)
{
//When factorial exist in range (front to back)
\$result++;
}
\$counter++;
}
echo "\n Factorial in range [". \$front .",". \$back ."] is : ". \$result;
}
}
}

function main()
{
\$obj = new Factorials();
//Test case
\$obj->count_factorial(0, 200);
\$obj->count_factorial(300, 1000);
\$obj->count_factorial(1000, 2000);
\$obj->count_factorial(0, 0);
\$obj->count_factorial(1, 2);
\$obj->count_factorial(6000, 0);
}
main();``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````/*
Node Js program
Count factorial numbers in given range
*/
class Factorials
{
//Count the number of factorials in given range
count_factorial(front, back)
{
if (front > back)
{
//Transform into a valid range
this.count_factorial(back, front);
}
else
{
var result = 0;
//Define loop controlling variables
var counter = 1;
var factorial = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial * counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result++;
}
counter++;
}
process.stdout.write("\n Factorial in range [" + front + "," + back + "] is : " + result);
}
}
}

function main()
{
var obj = new Factorials();
//Test case
obj.count_factorial(0, 200);
obj.count_factorial(300, 1000);
obj.count_factorial(1000, 2000);
obj.count_factorial(0, 0);
obj.count_factorial(1, 2);
obj.count_factorial(6000, 0);
}
main();``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````#   Python 3 program
#   Count factorial numbers in given range

class Factorials :
# Count the number of factorials in given range
def count_factorial(self, front, back) :
if (front > back) :
# Transform into a valid range
self.count_factorial(back, front)
else :
result = 0
# Define loop controlling variables
counter = 1
factorial = 1
# Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back) :
# Calculate factorial
factorial = factorial * counter
if (factorial >= front and factorial <= back) :
# When factorial exist in range (front to back)
result += 1

counter += 1

print("\n Factorial in range [", front ,",", back ,"] is : ", result, end = "")

def main() :
obj = Factorials()
# Test case
obj.count_factorial(0, 200)
obj.count_factorial(300, 1000)
obj.count_factorial(1000, 2000)
obj.count_factorial(0, 0)
obj.count_factorial(1, 2)
obj.count_factorial(6000, 0)

if __name__ == "__main__": main()``````

#### Output

`````` Factorial in range [ 0 , 200 ] is :  5
Factorial in range [ 300 , 1000 ] is :  1
Factorial in range [ 1000 , 2000 ] is :  0
Factorial in range [ 0 , 0 ] is :  0
Factorial in range [ 1 , 2 ] is :  2
Factorial in range [ 0 , 6000 ] is :  7``````
``````#   Ruby program
#   Count factorial numbers in given range

class Factorials
# Count the number of factorials in given range
def count_factorial(front, back)
if (front > back)
# Transform into a valid range
self.count_factorial(back, front)
else
result = 0
# Define loop controlling variables
counter = 1
factorial = 1
# Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
# Calculate factorial
factorial = factorial * counter
if (factorial >= front && factorial <= back)
# When factorial exist in range (front to back)
result += 1
end

counter += 1
end

print("\n Factorial in range [", front ,",", back ,"] is : ", result)
end

end

end

def main()
obj = Factorials.new()
# Test case
obj.count_factorial(0, 200)
obj.count_factorial(300, 1000)
obj.count_factorial(1000, 2000)
obj.count_factorial(0, 0)
obj.count_factorial(1, 2)
obj.count_factorial(6000, 0)
end

main()``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````/*
Scala program
Count factorial numbers in given range
*/
class Factorials
{
//Count the number of factorials in given range
def count_factorial(front: Int, back: Int): Unit = {
if (front > back)
{
//Transform into a valid range
count_factorial(back, front);
}
else
{
var result: Int = 0;
//Define loop controlling variables
var counter: Int = 1;
var factorial: Int = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial * counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result += 1;
}
counter += 1;
}
print("\n Factorial in range [" + front + "," + back + "] is : " + result);
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var obj: Factorials = new Factorials();
//Test case
obj.count_factorial(0, 200);
obj.count_factorial(300, 1000);
obj.count_factorial(1000, 2000);
obj.count_factorial(0, 0);
obj.count_factorial(1, 2);
obj.count_factorial(6000, 0);
}
}``````

#### Output

`````` Factorial in range [0,200] is : 5
Factorial in range [300,1000] is : 1
Factorial in range [1000,2000] is : 0
Factorial in range [0,0] is : 0
Factorial in range [1,2] is : 2
Factorial in range [0,6000] is : 7``````
``````/*
Swift 4 program
Count factorial numbers in given range
*/
class Factorials
{
//Count the number of factorials in given range
func count_factorial(_ front: Int, _ back: Int)
{
if (front > back)
{
//Transform into a valid range
self.count_factorial(back, front);
}
else
{
var result: Int = 0;
//Define loop controlling variables
var counter: Int = 1;
var factorial: Int = 1;
//Execute the loop until the resulting factorial not exceeds the given limit
while (factorial <= back)
{
//Calculate factorial
factorial = factorial * counter;
if (factorial >= front && factorial <= back)
{
//When factorial exist in range (front to back)
result += 1;
}
counter += 1;
}
print("\n Factorial in range [", front ,",", back ,"]is : ", result, terminator: "");
}
}
}
func main()
{
let obj: Factorials = Factorials();
//Test case
obj.count_factorial(0, 200);
obj.count_factorial(300, 1000);
obj.count_factorial(1000, 2000);
obj.count_factorial(0, 0);
obj.count_factorial(1, 2);
obj.count_factorial(6000, 0);
}
main();``````

#### Output

`````` Factorial in range [ 0 , 200 ]is :  5
Factorial in range [ 300 , 1000 ]is :  1
Factorial in range [ 1000 , 2000 ]is :  0
Factorial in range [ 0 , 0 ]is :  0
Factorial in range [ 1 , 2 ]is :  2
Factorial in range [ 0 , 6000 ]is :  7``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.