【杭电】[1576]A/B

文章字数:141

问题描述

问题分析

也是很早就看到的一题
涉及到扩展欧几里得
也就是
ax+by=gcd(a,b)求x y

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<stdio.h>
int x,y;
void gcd(int a,int b) {
    int t;
    if (b==0) {
        x=1;
        y=0;
        return;
    } else {
        gcd(b,a%b);
        t=x;
        x=y;
        y=t-(a/b)*y;
    }
}
int main() {
    int T;
    scanf("%d",&T);
    while(T--) {
        int n,m;
        scanf("%d %d",&n,&m);
        gcd(m,9973);
        if (x<0)
            x+=9973;
        x*=n;
        printf("%d\n",x%9973);
    }
    return 0;
}

题目地址:【杭电】[1576]A/B

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...