# Extra Long Factorials Hackerrank Solution

The factorial of a number is defined as the product of all natural numbers up to that number. For example, factorial of 5 or 5! is 1 x 2 x 3 x 4 x 5 = 120.

Extra long factorials are factorials of numbers greater than 20. They can be very big with an order of magnitude greater than 2^64 which can not be stored even in long long data types in C or C++. Modern languages like Python and JavaScript can easily store them.

## Python Code for Extra Long Factorials Hackerrank Solution

``````def extraLongFactorials(n):
fact = 1
for num in range(2, n+1):
fact *= num
print(fact)

if __name__ == '__main__':
n = int(input().strip())

extraLongFactorials(n)``````

`25`

### Output

`15511210043330985984000000`

## JS Code for Extra Long Factorials Hackerrank Solution

Javascript output large numbers in scientific notation. We will get the output of 25! as 1.5511210043330984e+25. To avoid this we have to use BigInt.

``````function extraLongFactorials(n) {
var fact = BigInt(1)
for(var num=2n; num<=n; num++){
fact = fact * num
}
console.log(fact.toString())
}

function main() {

extraLongFactorials(n);
}``````

### Output

`15511210043330985984000000`