# 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