zoukankan      html  css  js  c++  java
  • 【模板】乘法逆元

    扩欧求逆元:

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 
     5 int n, b;
     6 
     7 int ex_gcd(int a, int b, int &x, int &y) {
     8     if(b == 0) {
     9         x = 1, y = 0;
    10         return a;
    11     }
    12     int g = ex_gcd(b, a % b, y, x);
    13     y -= a / b * x;
    14     return g;
    15 }
    16 
    17 int main() {
    18     cin >> n >> b;
    19     for(int a = 1; a <= n; a++) {
    20         int x, y;
    21         int g = ex_gcd(a, b, x, y);
    22         int t = b / g;
    23         x = (x % t + t) % t;
    24         printf("%d
    ", x);
    25     }
    26 }
    扩欧求逆元

    线性递推求逆元:

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 
     5 const int MAXN = 3000000 + 5;
     6 
     7 int n, p;
     8 int iel[MAXN];
     9 
    10 int main() {
    11     iel[1] = 1;
    12     scanf("%d%d", &n, &p);
    13     for(int i = 2; i <= n; i++) {
    14         //被注释掉的写法和程序中的写法是等价的
    15         //iel[i] = 1LL * (p - p / i) * iel[p % i] % p;
    16         iel[i] = - 1LL * (p / i) * iel[p % i] % p;
    17         iel[i] = ((iel[i]) % p + p) % p;
    18     }
    19     for(int i = 1; i <= n; i++)
    20         printf("%d
    ", iel[i]);
    21 }
    22 
    23 线性求逆元
    线性求逆元

    要下晚自习了..证明明天补...

  • 相关阅读:
    wc.exe个人项目
    自我介绍+软工5问
    软件工程团队作业-测试与发布
    结对项目
    个人项目作业
    自我介绍+软工5问
    代码开发、测试及发布
    需求改进&系统设计
    综合系统开发——需求分析
    读书笔记----软件设计原则、设计模式
  • 原文地址:https://www.cnblogs.com/devilk-sjj/p/8999837.html
Copyright © 2011-2022 走看看