Small factorials getting WA ,https://www.codechef.com/problems/FCTRL2/

Hi ,I am trying to do this factorial problem ,I tried custom inputs till 100 ! and got correct answers ,I even checked my answers to those crct submitted solutions found on net and both the outputs are same for 1 to 100! ,but still my solution is getting wrong answer ,Here is my submitted solution .

Consider the test input:

3
5
10
15
1 Like

Try This

/* package codechef; // don't place package name! */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
	public static void main (String[] args) throws java.lang.Exception
	{
		// your code goes here
        BufferedReader scin = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(scin.readLine());
        while (t>0){
            int n;
            BigInteger bigInteger = new BigInteger("1");
            n = Integer.parseInt(scin.readLine());
            for (long i=2; i<=n; i++){
                bigInteger = bigInteger.multiply(BigInteger.valueOf(i));
            }
            System.out.println(bigInteger);
            t--;
        }
	}
}
1 Like

Thanks for the help this test case is failing but when i ran the code for t=100 and n from 1 to 100 everthing is working fine.

I know; that’s why I gave you it :slight_smile:

thnx its working.

this code got submitted successfully ,thnx for helping me in identifing the wrong test case

t=int(input())
f=[]
f.append(1)
f.append(1)
j=2
while(t>0):
    n=int(input())
    try:
        if f[n]:
            pass
    except IndexError:
        for i in range(j,n+1):
            f.append(f[i-1]*i)
        j=n+1 #I have changed j from j+=1 to j=n+1
    print(f[n]) 
    t-=1

1 Like