logo AlgoBeat OnlineJudge
登录 注册

#103239. [BZOJ 3239] Discrete Logging

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

Given a prime , an integer , and an integer , compute the discrete logarithm of , base , modulo . That is, find an integer such that

输入格式

Read several lines of input, each containing separated by a space.

输出格式

For each line, print the logarithm on a separate line. If there are several, print the smallest; If there is none, print "no solution".

The solution to this problem requires a well known result in number theory that is probably expected of you for Putnam but not ACM competitions. It is Fermat's theorem that states

For any prime and some other (fairly rare) numbers known as base-B pseudoprimes. A rarer subset of the base-B pseudoprimes, known as Carmichael numbers, are pseudoprimes for every base between 2 and P-1. A corollary to Fermat's theorem is that for any

样例

样例输入 #1

5 2 1
5 2 2
5 2 3
5 2 4
5 3 1
5 3 2
5 3 3
5 3 4
5 4 1
5 4 2
5 4 3
5 4 4
12345701 2 1111111
1111111121 65537 1111111111

样例输出 #1

0
1
3
2
0
3
1
2
0
no solution
no solution
1
9584351
462803587

数据范围与提示

  • For of Data, , , .