hdoj1576A/B【扩展欧几里得】
2015-10-26 21:36
295 查看
A/BTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3349 Accepted Submission(s): 2543 Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 Input 数据的第一行是一个T,表示有T组数据。 每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。 Output 对应每组数据输出(A/B)%9973。 Sample Input 2 1000 53 87 123456789 Sample Output 7922 6060 Author xhd Source HDU 2007-1 Programming Contest |
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; void exgcd(long long a,long long b,long long &x,long long &y){ if(b==0){ x=1;y=0; } else { exgcd(b,a%b,y,x); y-=(a/b)*x; } } int main() { //A=B*X=n+9973*y B*X-9973*y=n; long long n,b,t; scanf("%lld",&t); while(t--){ scanf("%lld%lld",&n,&b); long long x,y; exgcd(b,9973,x,y); x=(x*n)%9973; if(x<0)x+=9973; printf("%lld\n",x); } return 0; }
相关文章推荐
- 快速索引 (对View的自定义,黑马程序员)
- iOS launchScreen页面如何加载动画
- 单片机TM4C123学习(二):中断与按键控制
- Android上面通过URL来启动本地应用
- C# combox加入时间段 yyyy/mm/dd-yyyy/mm/dd
- 拓扑排序实现(伪代码)
- Search in Rotated Sorted Array
- iOS中相对1970的时间转换为现在时间
- mac提升yosemite后php 扩展修复
- C++:运算符重载函数之友元运算符重载
- xml文件存储
- 软件工程第二次作业(2)
- Boa服务器的移植
- CSS常用选择器及优先级
- hdu 4611 Balls Rearrangement(规律)
- Java基础--正则表达式
- Ubuntu12.04下安装配置adb工具
- NOIP 2013 转圈游戏
- C语言冒泡排序
- OC语言-04-OC语言-核心语法