HDU1576 A/B(求逆元)
来源:互联网 发布:钢铁雄心4mac汉化包 编辑:程序博客网 时间:2024/06/06 01:11
对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元。
逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为。
推导过程如下
#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <cmath>#define LL long long using namespace std;const int m = 9973;long long pow_mod(long long a, long long b){long long res = 1;while(b){if(b & 1) res = res * a % m;a = a * a % m;b >>= 1;}return res;}int main(){int T;scanf("%d", &T);while(T--){long long a, b;scanf("%I64d%I64d", &a, &b);long long x = pow_mod(b, 9971);printf("%I64d\n", (a * x) % m);}return 0;}
0 0
- HDU1576 A/B(求逆元)
- A/B(HDU1576)
- hdu1576 A/B(求逆元模板)
- hdu1576 A/B 扩展欧几里得求逆元
- HDU1576 A/B (扩展欧几里得求逆元)
- HDU1576 A/B (解法二)
- hdu1576(A/B)扩展欧几里得
- hdu1576-A/B
- hdu1576 A/B
- hdu1576 A/B
- hdu1576- A/B
- HDU1576 A/B
- #HDU1576# A/B
- A/B HDU1576
- HDU1576 A/B
- hdu1576 A/B (扩展欧几里德)
- HDU1576 A/B 扩展欧几里得
- HDU1576 A/B(扩展欧几里得)
- 在与sql server 建立连接时出现与网络相关的或特定于实例的错误
- 第四讲练手第二篇
- android.provider.Settings中常见的Action
- [转]Linux块设备加速缓存bcache和dm-cache:使用SSD来加速服务器
- Stl Map用法
- HDU1576 A/B(求逆元)
- Linux安装mysql
- 23种设计模式(20):责任链模式(二)
- 遍历map其中几种方法
- win上刷新去不掉
- 一大波有用的 bash 别名和函数
- 【灯灯的Cocos2dx笔记】cocos2dx资源加密最简单的解决方案
- Linux学习笔记
- c++Primer,五,表达式