题目

A/9973=n

那么:n= A - A / 9973 * 9973   ……①

设:A/B=x  则A=B*x,代入①  得  n=B*x-A/9973*9973

然后这个方程中的A/9973不要去纠结它,A就当不知道,然后,方程可变成二元方程 B * x - 9973 * y = n ;

故:(x/n)B+(-y/n)9973=1=GCD(B,9973),该方程有解。

  要求x和y,先求X=x/n和Y=-y/n,即先解方程BX+9973Y=1。

  最后,x=X*n。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
const int m = 9973;
void gcd(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;y=0;
return ;
}
gcd(b,a%b,x,y);
int t = x;
x = y;
y = t - (a/b)*y;
}
int main()
{
int n,a,b,x,y;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);//a=A%9973
gcd(b,m,x,y);
x=(x%m+m)%m;
x = x*a%m;
printf("%d\n",x); }
return 0;
}

其实就是数学当中的类似化简方程之类的题。化简成exgcd可以解决的形式。

hdu 1576 A/B 【扩展欧几里德】的更多相关文章

  1. HDU 1576 A/B 扩展欧几里德算法

    A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. HDU 2669 Romantic(扩展欧几里德)

    题目链接:pid=2669">http://acm.hdu.edu.cn/showproblem.php?pid=2669 Problem Description The Sky is ...

  3. HDU 2669 Romantic【扩展欧几里德】

    裸的扩展欧几里德,求最小的X,X=((X0%b)+b)%b,每个X都对应一个Y,代入原式求解可得 #include<stdio.h> #include<string.h> ty ...

  4. hdu 1576 A/B (扩展欧几里德简单运用)

    http://acm.hdu.edu.cn/showproblem.php?pid=1576 A/B Time Limit: 1000/1000 MS (Java/Others) Memory Lim ...

  5. HDU 1576 A/B【扩展欧几里德】

    设A/B=x,则A=Bx n=A%9973=A-9973*y=Bx-9973*y 用扩展欧几里德求解 #include<stdio.h> #include<string.h> ...

  6. HDU 2669 Romantic 扩展欧几里德---->解不定方程

    Romantic Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  7. HDU 2669 Romantic(扩展欧几里德, 数学题)

    题目 //第一眼看题目觉得好熟悉,但是还是没想起来//洪湖来写不出来去看了解题报告,发现是裸的 扩展欧几里得 - - /* //扩展欧几里得算法(求 ax+by=gcd )//返回d=gcd(a,b) ...

  8. HDU 3923 Invoker(polya定理+乘法逆元(扩展欧几里德+费马小定理))

    Invoker Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 122768/62768K (Java/Other) Total Subm ...

  9. hdu2669与hdu1576(扩展欧几里德)

    模板: int Extend_Euclid(int a, int b, int &x, int &y){         if(b == 0){             x = 1; ...

  10. HDU 1576 A/B (两种解法)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 分析:等式枚举法,由题意可得:, ,代入 ,    得:,把变量 合在一起得: :即满足 为 倍 ...

随机推荐

  1. nvl 与 nvl2

    NVL函数 Oracle/PLSQL中的一个函数. 格式为: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值, ...

  2. iOS.AutoLayout.2.CustomView-with-AutoLayout

    Custom View Which Support AutoLayout 创建支持AutoLayout的Custom View AutoLayout 通过使view更加的自组织来减轻controlle ...

  3. iOS.FileSystem.HardLinkAndSymbolicLink

    关于iOS中的硬连接和符号连接(软连接),iOS其实是Unix的变体, 所以在这方面也继承了Unix的特性,下面这个连接比较详细的进行了 类比说明. 1. http://www.tanhao.me/p ...

  4. Codeforces 545E. Paths and Trees 最短路

    E. Paths and Trees time limit per test: 3 seconds memory limit per test: 256 megabytes input: standa ...

  5. Eclipse新建tld文件

    tld(tag lib description文件)就是以.tld结尾的XML文件 选好目录右键 --> New --> Other -->找到XML FIle --> Nex ...

  6. firefox 之 event兼容写法

    event 在 IE 和 FF(Firefox) 中是不兼容的,IE 中可以直接使用 event 对象,而 FF 中则不可以,解决方法之一如下: var event = window.event || ...

  7. IOS初级:UITableView

    先来看一下tableview 的结构(plain style). --------------------------------------       + header               ...

  8. Javascript短路运算||和&&

    1.只要“||”前面为false,无论“||”后面是true还是false,结果都返回“||”后面的值. 2.只要“||”前面为true,无论“||”后面是true还是false,结果都返回“||”前 ...

  9. Linux下移植QT(2)---移植QT

    准备:ubantu12.04   内核 3.0.8(最好用同样的内核,3.2.0时没成功) 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc-4.4.6 QT版本5.4.2 ...

  10. Echarts的使用方法

    效果图: 1. 在echarts官网下载包,解压后,将文件Echarts\echarts-2.2.7\echarts-2.2.7\doc\example\www\js\echarts.js文件拷贝,放 ...