What can I calculate N! for N<=10^9?
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
What can I calculate N! for N<=10^9?
Name |
---|
Factorial grows exponentially, which means that 109! will have enormous amount of digits (linear of N, at least) and you won't be able to output or even store such big number.
I guess he meant to use modulo
even then, computing (for ) will result in TLE!
unless he intends to use it to find (small , possibly big ), i don't think his problem is solvable.
If you want to get factorial by some modulo, you can do it in . Just precalc factorial in some checkpoints like , , , etc and then start calculating from the checkpoint.
Interesting how to find i-th number of (n!)?
http://e-maxx.ru/algo/modular_factorial O(M log N)