首页 > 学院 > 开发设计 > 正文

ZOJ 3609-Modular Inverse

2019-11-06 09:32:18
字体:
来源:转载
供稿:网友

Modular Inverse

Time Limit: 2 Seconds      Memory Limit: 65536 KB

The modular modular multiplicative inverse of an integer a modulo m is an integer x such that a-1x (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

33 114 125 13

Sample Output

4Not Exist8

References

http://en.wikipedia.org/wiki/Modular_inverse
Author: WU, ZejunContest: The 9th Zhejiang PRovincial Collegiate Programming Contest

题意:求一个最小的正整数x,使a乘以x对m的取余等于1对m的取余

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <algorithm>#include <cmath>#include <queue>#include <vector>#include <set>#include <stack>#include <map>#include <climits>using namespace std;int main(){    int t;    scanf("%d",&t);    while(t--)    {        int m,a;        scanf("%d %d",&a,&m);        if(m==1)        {            printf("1/n");            continue;        }        int i=1;        for(;i<=m;i++)        {            if((a*i)%m==1)            {                printf("%d/n",i);                break;            }        }        if(i>m) printf("Not Exist/n");    }    return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表