hdu-1576

来源:互联网 发布:top域名免备案 编辑:程序博客网 时间:2024/05/03 03:39
#include<iostream>#include<cstdio>#include<string>using namespace std;int main() {    int numcase;    cin>>numcase;    while(numcase--) {        long long n,b;        int x;        cin>>n>>b;        for(int i = 0;i < 9973;++i) {            if((b*i-n)%9973==0) {                x = i;                break;            }        }        cout<<x<<endl;    }    return 0;}


思路:设A = k * 9973 + n  ,A/ B = C, C = P * 9973 + x,x即为我们所求的答案。易知,A = k* 9973 + n =B * P * 9973 + B * x,化简后得k * 9973 = B * P * 9973 + B * x - n,因此(B * x - n)%9973 = 0,n的值知道,B的值知道,又因为x的取值范围是0到9972,因此枚举x的值即可,满足条件的就是答案。

原创粉丝点击