摘要:
A/BTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1368Accepted Submission(s): 1044Problem Description要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。Input数据的第一行是一个T,表示有T组数据。每组数据有两个数n(0 2 # include 3 using namespace std; 4 void. 阅读全文
posted @ 2013-11-20 20:35
天天AC
阅读(524)
评论(0)
推荐(0)
摘要:
了解扩展欧几里德算法,可以问度娘, 大意:可以运用其解出gcd(a,b)=ax1+by1中的x1、y1的值上代码: 1 int extend(int a,int b,int &x,int &y) 2 { 3 if(b == 0) 4 { 5 x = 1; 6 y = 0; 7 return a; 8 } 9 int gcd = extend(b,a%b,x,y);10 int temp = x;11 x = y;12 y = temp - (a/b)*y;13 return gcd;... 阅读全文
posted @ 2013-11-20 20:23
天天AC
阅读(237)
评论(0)
推荐(0)
摘要:
这题可以这样来抽象:n对数,大小为1、2、3、...、n。现要求两个1之间有1个数,两个2之间有2个数,以此类推,两个n之间有n个数。并且,数的次序可以随意的。解决之道:准备知识:①n对数,共2*n个数。所以要有2*n个位置来放置这2*n个数。②sum()表示求和运算。正式解决:①设k(k=1,2,..,n)放置的第一个位置为ak,第二个位置为bk。显然有bk-ak=k+1(假定下一个位置在上一个位置之前)。那么会有sum(bk-ak)=2+3+4+...+(n+1)=(1+2+3+...+n)+(1+1+...+1)=n*(n+1)/2+n。②又因为要有2*n个位置来放置这2*n个数。则su 阅读全文
posted @ 2013-11-20 19:32
天天AC
阅读(358)
评论(0)
推荐(0)