# Help me with factorial problem

i had solve a problem on factorial but i am getting an error i had run that in my code block and i didnot get any error
CodeChef | Competitive Programming | Participate & Learn | CodeChef

Which problem? What error?

You gotta provide more details if you want help

3 Likes

wrong answer is coming but it

You cannot store 100! in any of the data types in C/C++/Java as 100! is very very large.
So you have three options-

1. Use python
2. Use external boost library
3. Use string to calculate factorial.

You can do 100! using BigInteger in Java. I solved that question using that data type.

I was talking about the primitive data types. BigInteger class in java is equivalent to boost in cpp.

1 Like

check my codes i had use long int

try it using BigInteger class in java present in java.math.BigInteger as the resultant factorial can be very large and thus canβt be stored in long and int .
eg
int n=sc.nextInt(); //no of test cases//
for(int i=1;i<=n;i++){
int x=sc.nextInt(); //given number//
BigInteger bigint=new BigInteger(β1β);
for(int j=1;j<=x;j++){
bigint=bigint.multiply(BigInteger.valueOf(j));
}
System.out.println(bigint);
}

Range of long long int is 10^18. Whereas 100! contains about 158 digits.

1 Like