欧几里得算法扩展运用

题目

#include<iostream>
using namespace std;
int exgcd(int a,int b,int &x,int &y)
{
   
    if(!b)  {
   
        x=1,y=0;    
        return a;
    }
    int d=exgcd(b,a%b,y,x);
    y-=a/b*x;
    return d;
}
int main()
{
   
    int n;
    cin>>n;
    while(n--)
    {
   
        int a,b,m;
        int x,y;
        cin>>a>>b>>m;
        int d=exgcd(a,m,x,y);
        if(b%d) puts("impossible");
        else    printf("%d\n",(long long)b/d*x%m);
    }
    return 0;
}
全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务