Problem from https://coj.uci.cu/24h/problem.xhtml?pid=3850 exponial(n) = n^(exponial(n-1))
How to calculate exponial(n) mod M?
№ | Пользователь | Рейтинг |
---|---|---|
1 | jiangly | 3898 |
2 | tourist | 3840 |
3 | orzdevinwang | 3706 |
4 | ksun48 | 3691 |
5 | jqdai0815 | 3682 |
6 | ecnerwala | 3525 |
7 | gamegame | 3477 |
8 | Benq | 3468 |
9 | Ormlis | 3381 |
10 | maroonrk | 3379 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 168 |
2 | -is-this-fft- | 165 |
3 | Dominater069 | 161 |
4 | Um_nik | 160 |
5 | atcoder_official | 159 |
6 | djm03178 | 157 |
7 | adamant | 153 |
8 | luogu_official | 151 |
9 | awoo | 149 |
10 | TheScrasse | 146 |
Problem from https://coj.uci.cu/24h/problem.xhtml?pid=3850 exponial(n) = n^(exponial(n-1))
How to calculate exponial(n) mod M?
Название |
---|
You can use Euler theorem to prove that .
Even then, it is still O(N log M) right?
It should be much lower than that. Here is a code that implements this problem. I've written it just now.
An idea which might help to prove why it works is that (for a composite c).
L.E.: According to A007755 it seems that the iterated euler totient function takes O(logC) iterations and an iteration takes time.
We can stop when reach c = 1
Can you prove it? For example, a = 2, b = 5, c = 8 is a counterexample.
Well, a and c have to be co-prime. Seems like it's not the case here though.
Yes, it is the reason because of I chose that example. However, Can it be used to solve the problem? I mean, exponial(n) and m may not be coprime. I think that you can still solve the problem for each prime factor of m, but I was not sure if it would be optimal.
As it says on the online judge, this is from NCPC '16. You can find the solutions here: https://ncpc.idi.ntnu.no/ncpc2016/