同余方程 P2613
P2613 同余模板
蒻蒟看不懂扩展欧几里得,就死记硬背了
//求关于 x 的同余方程 ax≡1(modb) 的最小正整数解
LL x,y;//目前方程真正的解
void work(LL a,LL b)
{
//当前目的:求解 ax + by = gcd(a, b) 这么一个方程
if(b==0)//a, b不断改变的过程中,b最终必然会成为0
{
//在 b = 0 时方程还要成立? 使 x = 1, y = 0 ,必然成立
x=1;
y=0;
return;
}
work(b,a%b);
LL tempx=x;
x=y;
y=tempx-a/b*y;
}
int main() {
LL a,b;
cin>>a>>b;
work(a,b);
x=(x%b+b)%b;//我们求出来的x必然满足方程,但不一定是最小正整数解,所以要进行答案处理
cout<<x;//如果 ax≡1(modb) 中的 1 为 μ ,则要变为 μ * x % b;
return 0;
}
另外,由于数据过大,需要使用快读的同时取模
inline LL read()
{
LL res=0;
char ch=getchar();
while(!isdigit(ch) && ch!=EOF) ch=getchar();
while(isdigit(ch))
{
res=(res<<3)+(res<<1)+(ch-'0');
//若数很大,则取模 res%=MOD;
ch=getchar();
}
return res;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架