您的位置:首页 > 其它

2014ACM集训13级PK赛3-Modular Inverse

2014-03-10 22:07 337 查看
Description

The modular modular multiplicative inverse of an integer a modulo m is an integer x such that 
a-1≡x (mod m)
.
This is equivalent to
ax≡1 (mod m)
.

Input

There are multiple test cases. The first line of input is an integer T ≈ 2000 indicating the number of test cases.

Each test case contains two integers 0 < a ≤ 1000 and 0 < m ≤ 1000.

Output

For each test case, output the smallest positive x. If such x doesn't exist, output "Not Exist".

Sample Input

3
3 11
4 12
5 13


Sample Output
4Not Exist8
 

 

其实怎么也没想到暴力就过了。这简直不科学

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main()
{
int N;
scanf ("%d",&N);
while (N--)
{
int a,m,x;
int tf = 1;
scanf ("%d%d",&a,&m);

for (x = 1;x <= 100000;x++)
if ((a * x) % m == 1 % m)
{
tf = 0;
break;
}

if (tf)
puts ("Not Exist");
else
printf ("%d\n",x);
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: