![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论(拓展欧几里德算法)
funny king_123
oier
展开
-
青蛙的约会 解题报告
题面:我们把这两只青蛙分别叫做青蛙 A 和青蛙 B,并且规定纬度线上东经 0 度处为原点,由东往西为正方向,单位长度 1 米,这样我们就得到了一条首尾相接的数轴。设青蛙 A 的出发点坐标是 x,青蛙 B 的出发点坐标是 y。青蛙 A 一次能跳 m 米,青蛙 B 一次能跳 n 米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。 解: 1、不难推出式子k(n-m)-lz=-(x-y),即ax+by=c,可以用exgcd求解。但是需要注意正负,exgcd只限于正整数,保证(原创 2022-03-03 20:00:13 · 160 阅读 · 0 评论 -
P1082 [NOIP2012 提高组] 同余方程解题报告
拓展欧几里得的板子题 题面描述:题目描述 求关于x的同余方程ax≡1(mod b) 的最小正整数解。 解:先求ax+by=1的一组解,显然exgcd可以求。再求最小解。 设x1,y1为ax+by的一组解,即ax1+by1=1。y1=(1-ax1)/b.显只有x累加b或者累减b即为最小解。 代码如下` #include<bits/stdc++.h> using namespace std; typedef long long ll; ll a,b; void exgcd(ll &x,l原创 2022-03-03 18:31:24 · 134 阅读 · 0 评论