扩展欧几里得以及欧拉
来源:互联网 发布:正规网络兼职赚钱 编辑:程序博客网 时间:2024/06/09 04:17
#include<iostream>
#include<algorithm>#include<string>#include<queue>#include<cmath>#include<vector>#include<stdlib.h>#include<iomanip>#include<map>#include<stack>#include<memory.h>using namespace std;typedef long long ll;//解决 ax+by=gcd(a,b)int extend_Euclid(ll a, ll b, int &x, int &y) {int d, int temp;if (b == 0) {x = 1;y = 0;return a;}d = extend_Euclid(b, a%b, x, y);temp = x;x = y;y = temp - a / b*y;return d;}//ax=b(mod n)>>ax-b=ny>>ax+nt=b->d=gcd(a,n)->k=b/d->x=x0*k 一个解int liner_Euclid(ll a, ll b, int n) {int d, x, y;d = extend_Euclid(a, n, x, y);if (b%d != 0) {return -1;}x = x*b / d;x = (x%n + n) % (n / d);return x;}/*算法导论里说:(还没理解) 方程axºb(mod n)有解(即存在d|b,其中d=gcd(a,n)),x0是该方程的任意一个解,则该方程对模n恰有d个不同的 解,分别为 x(i)=x(0)+i(n/d)(i=1,2,...d). 特别的设e=x0+n,方程ax=b(mod n)的最小整数解x1=e mod (n/d),最大整数解x2=x1+(d-1)*(n/d)。*/bool mod_lineEuclid(ll a, ll b, ll n) {int d, x, y;d = extend_Euclid(a, n, x, y);if (b%d != 0) {return false;;}x = x*(b/d)%n;for (int i = 0; i <= d; i++) {ll x0 = (x + i*(n / d)) % n;cout << x0 << endl;}ll x1 = (x + n) % (n / d);ll x2 = x1 + (d - 1)*(n / d);cout << x1 << '\t' << x2 << endl;return true;}/*欧拉公式:求一个n 的小于他的质数个数 对于质数p:f(p)=p-1 */int oular(ll n) {ll ans = n;ll a = n;for (ll i = 2; i*i < a; i++) {if (n%i == 0) {ans = ans / i*(i - 1);while (a%i == 0) {a /= i;}}}if (a > 1)ans = ans / a*(a - 1);return ans;}int main() {}
阅读全文
0 0
- 扩展欧几里得以及欧拉
- 欧拉定理 & 费马定理吗 & 欧几里得 & 扩展欧几里得
- 欧拉定理 & 费马定理吗 & 欧几里得 & 扩展欧几里得
- 欧几里得模板以及扩展欧几里得
- 数论基础 (费马小定理/扩展欧几里得/欧拉函数)
- 欧几里得算法以及扩展算法
- nyoj-Color the necklace(Ploya定理 + 欧拉函数 + 扩展欧几里得(求逆元))
- 工程校赛 G(欧拉函数+扩展欧几里得+快速乘法+快速幂)
- nyoj-Color the necklace(Ploya定理 + 欧拉函数 + 扩展欧几里得(求逆元))
- 数论基础 扩展欧几里得 线性筛 逆元 欧拉函数 Lucas定理
- 扩展欧几里得的几个定理以及证明
- 欧几里得算法及其扩展以及运用
- HHU暑期第一弹——小小小数论(欧拉函数+埃式筛法+分解质因数+欧几里得算法+扩展欧几里得算法和模线性方程)
- 数论之 素因子分解,素数筛选法,欧拉函数和扩展欧几里得算法 (整理)
- 逆元的几种求法(扩展欧几里得,费马小定理或欧拉定理,特例,打表等)
- 【欧几里得&扩展欧几里得】
- 欧几里得和扩展欧几里得
- 欧几里得 与 扩展欧几里得
- Java设计模式之单例模式(Singleton Pattern)
- Linux进程-1.进程概述
- 使用PHP:Filter函数(过滤器)获取参数并进行过滤
- Android小例子--实现微信界面
- Bootstrap(3)
- 扩展欧几里得以及欧拉
- poj 2104 K-th Number(主席树)
- Python爬取登录后的OJ练习中的题目数据
- < 笔记 > Java SE
- win7下安装配置tomcat,java运行环境
- hihocode#1369 : 网络流一·Ford-Fulkerson算法(EK)
- dbUtils 中的各种 Handler 什么 意思
- C语言 打印九九乘法表
- Ubuntu16.04 安装WPS(亲测)