zoukankan      html  css  js  c++  java
  • ZOJ 3609 Modular Inverse

    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-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

    4
    Not Exist
    8

    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    #include <algorithm>
    
    using namespace std;
    int a,m;
    int tag[1005];
    int ans;
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d%d",&a,&m);
            int x=1;
            bool flag=true;
            memset(tag,0,sizeof(tag));
            while(1)
            {
                if(((a*x)%m)==(1%m))
                {ans=x;break;}
                else
                {
                    x++;
                    int num=(a*x)%m;
                    if(tag[num])
                    {
                        flag=false;
                        break;
                    }
                    tag[num]=1;
    
                }
            }
            if(!flag)
                printf("Not Exist
    ");
            else
                printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    python数据类型以及模块的含义
    python基础语言以及if/while语句结构
    subprocess模块
    linux 管道通信socket 全双工示例
    整体框架
    licode_WebrtcConnection
    webrtc杂谈(转)
    修改背景颜色
    激活NX窗口的按钮
    NX屏蔽窗口的按钮
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228707.html
Copyright © 2011-2022 走看看