[noip 2012] 同余方程
来源:互联网 发布:销售数据分析方法视频 编辑:程序博客网 时间:2024/06/05 09:32
大家都用 exgcd 之类的东西搞一点意思都没有。
我来讲讲自己的想法吧,
exgcd这么蛋疼东西我才不会呢!
#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <vector>#include <utility>#include <stack>#include <queue>#include <iostream>#include <algorithm>template<class Num>void read(Num &x){ char c; int flag = 1; while((c = getchar()) < '0' || c > '9') if(c == '-') flag *= -1; x = c - '0'; while((c = getchar()) >= '0' && c <= '9') x = (x<<3) + (x<<1) + (c-'0'); x *= flag; return;}template<class Num>void write(Num x){ if(!x) {putchar('0');return;} if(x < 0) putchar('-'), x = -x; static char s[20];int sl = 0; while(x) s[sl++] = x%10 + '0',x /= 10; while(sl) putchar(s[--sl]);}long long a, b, phi;long long power_mod(long long x,int k){ long long r = 1; while(k) { if(k&1) r *= x, r %= b; x *= x, x %= b, k >>= 1; } return r;}int main(){ long long t; read(a), read(b); t = phi = b; for(int i = 2; i * i <= b; i++) { if(!(t % i)) { phi /= i, phi *= i - 1; while(!(t % i)) t /= i; } } if(t != 1) phi /= t, phi *= t - 1; write(power_mod(a, phi - 1)); return 0;}
0 0
- [noip 2012] 同余方程
- NOIP 2012 同余方程
- NOIP 2012 同余方程
- Noip 2012 同余方程
- NOIP 2012 同余方程
- Noip 2012 同余方程
- 同余方程 2012年NOIP
- [NOIP 2012]同余方程 扩展欧几里得
- NOIP提高组 2012 同余方程
- [NOIP 2012] 同余方程 · 拓展欧几里得
- 扩展欧几里德 noip 2012 day2 同余方程
- 【NOIP 2012 Day2 T1】同余方程(扩展欧几里得)
- NOIP 2012 提高组 复赛 day2 mod 同余方程
- exgcd扩展欧几里得--noip同余方程
- NOIP 2012 同余方程 (COGS 1265) 求逆元 扩展欧几里得算法
- Codevs 1200 同余方程 2012年NOIP全国联赛提高组
- codevs1200 同余方程 (2012年NOIP全国联赛提高组)拓展欧几里得
- 线性同余方程
- 如何使用strace+pstack利器分析程序性能
- 条款48:认识template元编程
- 题目:带重复元素的排列
- 题目:平衡二叉树
- 题目:快速幂
- [noip 2012] 同余方程
- 题目:打劫房屋
- 新人学ruby---ruby中的模块
- LevelDB Log
- ExecutorService、Callable、Future
- hihoCoder 1236
- hiho一下 第六十一周
- 如何使用secureCRT连接vmware中的虚拟主机?
- 路由器登录账号密码忘了,拨号账号密码也忘了,费了点事总算是获取到了