PROBLEM LINK:
Author: thvardhan
Tester: thvardhan
DIFFICULTY:
Medium
PREREQUISITES:
Arbitrary-precision arithmetic,Factorial
PROBLEM:
You are given a number N you have to find its factorial.
QUICK EXPLANATION:
We use bigInteger instead of long/int in a loop which calculates factorial.
EXPLANATION:
We use a BigInteger class to solve this problem. BigIntegers can hold 10^200 digit long digits.
So here we make a object of BigInteger
BigInteger int=new BigInteger("1");
the 1 we passed in the constructor means the initial value of this big integer will be 1.Now we just take input from console from either scanner or bufferedreader as a string.And then we do this
for (int i = 1; i <= n; i++) {
int = fact.multiply(new BigInteger(i + ""));
}
note we use strings not integers to store this big digit.this loop calculates the factorial and store it in int. now we just print it with
System.out.println(int);