摘要: //中国剩余定理 因子非互素,所以只能两个两个得来;// 证明://x = a1(mod n1);//x = a2(mod n2);//因为 n1- n2 不互素;//so : x = n1* k1 + a1;// x = n2 *k2 + a2;//两式相减//n1*k1 = n2*k2 + a2-a1;//n1 *k1 = a2-a1(mod n2);//若k1 有解,则gcd(n1,n2)|(a2-a1);//设 d = gcd(n1,n2);//n1*k1/d = (a2-a1)/d (mod n2/d);//k1 = (a2-a1)/d * (n1/d)^-1 (mod n2/... 阅读全文
posted @ 2013-05-30 23:58 夜晓楼 阅读(165) 评论(0) 推荐(0) 编辑
摘要: //本题我觉得难点还是在思想。。。//题目大意:给定一个n,求n的一个倍数m,m全部由1组成,找出最小的m;//原理:同余。。。。。。//eg:n = 3;//1%3 = 1;//11%3 = 1*10+1 %3 = 2;//111 % 3 = 11*10 +1 % 3 = 2* 10 +1 %3 = 0;//所以最多有3个1;1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int n; 5 while(cin>>n){ 6 int cnt =1; 7 int m = 1%... 阅读全文
posted @ 2013-05-30 23:31 夜晓楼 阅读(148) 评论(0) 推荐(0) 编辑
摘要: //题目简介:本题就是要求一个n进制数r, 能最大整除r的(n-1) 的n,,,,值得注意的是在求r时要注意r在各个位上的分量的最大值,因为n进制中的最大值就是n-1,//另外值得注意的是 输入有32k 所以数组最少要 32 * 1024 1 #include"cstdio" 2 #include"cstring" 3 using namespace std; 4 char str[35000]; 5 int main(){ 6 while(scanf("%s",str)!=EOF){ 7 int len = strlen(str); 阅读全文
posted @ 2013-05-30 21:26 夜晓楼 阅读(206) 评论(0) 推荐(0) 编辑