766 - Sum of powers
题意:求 转化成 的各系数
思路:在wiki看了伯努利数的性质,
可以推成 。
然后B为伯努利数,有公式,
如此一来就可以去递推求出每项伯努利数了,然后在根据n去通分,求出每一项的答案,中间过程用到了分数的运算。
代码:
#include
#include
long long gcd(l...
分类:
其他好文 时间:
2014-07-02 08:46:49
阅读次数:
339
题目给你一个N,让你求 两个数字 A,B,且 A>=B
N的范围是 3*10^7大的吓人一开始没敢想构造,因为就算构造开的数组也太大了,已经10^7了,后来想了半天在^运算这里也没有想出来什么,所以没办法还是大胆构造吧,构造就去按照他题目的意思来了,构造两个数字 i,j其中j是i的倍数,那么j + i与i的最大公约数肯定是i了,那么(j+i)^i == i这样构造出来的就算满足了,然...
分类:
其他好文 时间:
2014-07-02 08:32:37
阅读次数:
217
题目链接:uva 11426 - GCD - Extreme
题目大意:给出n,求∑i!=jngcd(i,j)
解题思路:f(n)=gcd(1,n)+gcd(2,n)+?+gcd(n?1,n)
S(n)=f(2)+f(3)+?+f(n)
S(n)=S(n?1)+f(n)
问题转化成怎么求f(n),对于一个n来说,枚举因子乘上个数即可。
#include
#include ...
分类:
其他好文 时间:
2014-07-02 07:36:59
阅读次数:
304
定义
p是质数,并且
gcd(a,p)=1(a,p互质),那么有
ap?1≡1mod(p)
证明
准备知识
剩余类:对模n同余的整数构成的一个集合叫做模n的一个剩余类。简化剩余系(也叫既约剩余系):模n的值与n互质的全部剩余类中,从每一类中各任取一数所组成的数的集合,叫做模n的一个简化,也叫缩系。完全剩余系:从模n的每个剩余类中各取一个数,得到一个由n个数组成的...
分类:
其他好文 时间:
2014-07-02 07:15:28
阅读次数:
253
题目大意:
求出一个最小的x
使得 2的x次方对n取模为1
思路分析:
若要
a*b%p=1 要使得b存在
则 gcd (a,p)=1.
那么我们应用到这个题目上来。
当n为偶数 2^x 也是偶数,那么gcd 肯定不是1.故这个是不存在的。
那么n为奇数的时候,也就一定是1了。
所以直接暴力找。
#include
#include
using nam...
分类:
其他好文 时间:
2014-07-01 15:57:47
阅读次数:
157
题意很简单首先以前做最简单的LCM跟CGD的时候都知道先求出两个数A,B的最大公约数GCD,那么LCM可以利用 A*B/GCD来求得,这点一开始脑残了没想到,结果没有进行特盘所以错了,意思就是 题目给的L%G不为0的话就是无解,结果我给判其它的去了,肯定漏了些什么没有发现
然后对于 L/G进行素因子分解,同时任意的数都能够通过素因子分解来表示,所以三个解x,y,z也能分解
L/G =...
分类:
其他好文 时间:
2014-07-01 09:06:32
阅读次数:
284
var gcd = function (n1,n2){ //最大公约数
if(n1 == n2 ){return n1;}
var bigger = 0;
var smaller = 0;
if(n1 > n2){bigger = n1;smaller = n2;}
else {bigger = n2;smaller = n1;}
for(var j = 1; j <= smaller ;...
分类:
其他好文 时间:
2014-07-01 08:30:43
阅读次数:
190
本文转载至http://blog.csdn.net/davidsph/article/details/8171607IOS的多线程,一般分为三种方式:1,Thread;2,Cocoa operations;3,Grand Central Dispatch (GCD)(iOS4 才开始支持)下面简单说...
分类:
移动开发 时间:
2014-06-30 20:38:12
阅读次数:
401
UVA 10951 - Polynomial GCD
题目链接
题意:给定两个多项式,求多项式的gcd,要求首项次数为1,多项式中的运算都%n,并且n为素数.
思路:和gcd基本一样,只不过传入的是两个多项式,由于有%n这个条件,所以计算过程可以用乘法逆去计算除法模,然后最后输出的时候每项除掉首项的次数就是答案了.
代码:
#include
#include
#i...
分类:
其他好文 时间:
2014-06-30 17:51:59
阅读次数:
326
首先求出通项 X=x+b/d*t Y=y-a/d*t (x,y为ax+by=gcd(a,b)的解,d=gcd(a,b))可知我们要求的最小的解是 abs(x+b/d*t)
+ abs(y-a/d*t)
设a>b不是的话,就交换a,b,我们发现上述关于t的方程是 |x+k1*t| + |y-k2*t|,由于a>b所以k2>k1,所以方程一开始右边减小的比左边增加的快
所以当y=k2*t的时候...
分类:
其他好文 时间:
2014-06-30 07:49:37
阅读次数:
244