zoukankan      html  css  js  c++  java
  • 51nod 1256 乘法逆元 拓展欧几里得求逆元

    1256 乘法逆元

    基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
     
    给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。
    Input
    输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)
    Output
    输出一个数K,满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。
    Input示例
    2 3
    Output示例
    2
    思路:套模板。。。该模板来自《挑战编程》,里面有详细的解释。 真的很快啊0ms
    a, m 互质。
    #include <iostream>
    #include <cstdio>
    
    using namespace std;
    int extgcd(int a, int b, int &x, int &y){
        int d = a;
        if(b != 0){
            d = extgcd(b, a%b, y, x);
            y -= (a/b)*x;
        }else {
            x = 1, y = 0;
        }return d;
    }
    int mod_inv(int a, int m){
        int x, y;
        extgcd(a, m, x, y);
        return (m+x%m)%m;
    }
    int main() {
        int n, m;
        scanf("%d%d", &m, &n);
        printf("%d
    ", mod_inv(m, n));
        return 0;
    }
     
  • 相关阅读:
    HTML-body标签介绍-2
    HTML-body标签介绍-1
    HTML-简介及header
    中文字体编辑工具 Fontmin
    移动端点击复制文本 clipboard.js
    alert弹窗样式修改
    关闭微信页面与微信分享等配置
    Emmet 使用
    js cookie
    select 清除默认样式
  • 原文地址:https://www.cnblogs.com/cshg/p/5888105.html
Copyright © 2011-2022 走看看