Блог пользователя misael

Автор misael, история, 7 лет назад, По-английски

Problem from https://coj.uci.cu/24h/problem.xhtml?pid=3850 exponial(n) = n^(exponial(n-1))

How to calculate exponial(n) mod M?

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

You can use Euler theorem to prove that .

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Even then, it is still O(N log M) right?

    • »
      »
      »
      7 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +5 Проголосовать: не нравится

      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.

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      We can stop when reach c = 1

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Can you prove it? For example, a = 2, b = 5, c = 8 is a counterexample.

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Well, a and c have to be co-prime. Seems like it's not the case here though.

      • »
        »
        »
        »
        7 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        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.

»
7 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

As it says on the online judge, this is from NCPC '16. You can find the solutions here: https://ncpc.idi.ntnu.no/ncpc2016/