Fast Factorial Calculator

View as PDF

Submit solution

Points: 10
Time limit: 0.6s
Memory limit: 64M

Author:
Problem type

quantum is not in a good mood today, so he has decided to torment people. He wants you to write a large factorial calculator. More specifically, he wants you to calculate very very very large factorials. He wishes you luck.

Input Specification

The first line of input contains the integer N, 0 \le N \le 1\,000, the number of cases to follow.

The next N lines will contain an integer n, such that 0 \le n \le 2^{63}, whose factorial you are to calculate.

Output Specification

For every integer n, you are to output n! \bmod 2^{32}.

Sample Input

2
5
13

Sample Output

120
1932053504

Comments


  • 0
    KhalilTlili  commented on March 23, 2021, 6:52 p.m.

    why I'm getting RTE in my code pls HELP! PLS :)


    • 2
      Tony1234  commented on March 23, 2021, 7:09 p.m. edit 6
      1. The input can go up to 2e63 which overflows long long.
      2. You seem to be looping from 1 to N, which is O(N) time, with N going up to 2e63, there is no way you will pass in time.
        There is a much more efficient way that basically takes O(1) time.
        Hint: Pay close attention to Mod 2^32

  • 0
    SourceCode  commented on Dec. 16, 2017, 2:28 a.m.

    Can someone tell me what's wrong with my solution???
    https://dmoj.ca/submission/709777


    • 5
      injust  commented on Dec. 16, 2017, 4:28 a.m. edited
      1. Re-read the input specification, you have to calculate N factorials.
      2. 2 ^ 32 is not 2^{32}

  • 5
    Cueball1234  commented on Sept. 21, 2016, 4:03 p.m.

    I have a solution to this problem, and I can't find anything wrong with it. I checked it in some other C++ coder, and it gave the right values. Can someone help me with why the second test case always shows me WA? Thanks!


    • 3
      Kirito  commented on Sept. 21, 2016, 7:02 p.m.

      Changing signed long long int to unsigned long long seems to fix it.

      Probably overflowed.


      • 6
        Cueball1234  commented on Sept. 25, 2016, 2:33 p.m.

        Hey, it works! Thank you so much for all your help Shinigami!


  • 31
    d  commented on Feb. 13, 2016, 8:45 p.m.

    The value of n!\text{ mod }2^{32}-5 is more interesting to compute and optimize.


    • 37
      Riolku  commented on April 14, 2019, 3:04 p.m.

      No please all we wanted was happiness