洛谷1082 同余方程
来源:互联网 发布:学生证办理 淘宝 编辑:程序博客网 时间:2024/06/04 19:34
来源
NOIP 2012 提高组 D2T1
题目描述
求关于 x 的同余方程
传送门
算法
既然是第二天第一题,又有同余,那肯定是数论题、、、
那么数论中有什么常和同余放在一起的内容呢?
可以想到扩展欧几里德,它与同余有关。
何为扩欧?
对于不完全为 0 的非负整数 a,b,
扩欧的作用主要在三个方面:
- 求解不定方程
- 求解线性同余方程
- 求模的逆元
当然本题只需要用到第三个。
也就是要求x,正是扩欧的用武之处。
注意得到的解可能是负的,要手动取模。
代码
#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio> using namespace std;void mengbi(int a,int b,int &x,int &y) //求ax+by=1的函数(不要在意名字){ if (!b) x=1,y=0; else { mengbi(b,a%b,y,x); y-=x*(a/b); }}int main(){ int a,b,x,y; scanf("%d%d",&a,&b); //输入 mengbi(a,b,x,y); //求值 printf("%d\n",((x%b)+b)%b); //输出(记得取模) return 0;}
后记
这是一道扩欧的题目,值得一做
阅读全文
0 0
- 洛谷1082 同余方程
- 洛谷1082 同余方程
- 洛谷1082 同余方程
- 【NOIP2012】洛谷1082 同余方程
- 洛谷 1082 [NOIP2012] 同余方程 exgcd
- 洛谷 P1082 同余方程
- 洛谷_p1082同余方程
- 洛谷 P1082 同余方程
- [洛谷]P1082 同余方程
- 洛谷P1082 同余方程
- 洛谷P1082 同余方程
- 【NOIP2012】洛谷1082 同余方程 扩展欧几里得详解
- 洛谷 P1082 [NOIP2012 D2T1] 同余方程
- 线性同余方程
- 解同余方程
- 线性同余方程
- 线性同余方程
- 线性同余方程
- HDU --- 5961 传递 【思维 + bfs】
- Sublime插件记录
- UML的九种图例详解
- 【mybatis】mybatis数据源源码剖析(JNDI、POOLED、UNPOOLED)
- Maven 生命周期
- 洛谷1082 同余方程
- Ubuntu 非root 权限(普通用户)安装OpenCV 2.4.9
- java基本类型、对应的包装类型(自动拆箱和自动装箱)
- 半饱是一种生活的的态度
- Establishing SSL connection without server's identity verification is not recommended. According to
- 已知N!之后有几个0,求N
- Qt Creator:Webkit实践
- 最全面的常用正则表达式大全 zz
- Learning Tensorflow (3)