摘要:
本文来自CSDN博客,出处:http://blog.csdn.net/kongming_acm/archive/2010/07/13/5731584.aspx随机博弈指的是这样的一个博弈游戏,目前有任意堆石子,每堆石子个数也是任意的,双方轮流从中取出石子,规则如下:1)每一步应取走至少一枚石子;每一步只能从某一堆中取走部分或全部石子;2)如果谁取到最后一枚石子就胜。也就是尼姆博弈(Nimm Game)。必败局面:也叫奇异局势。无论做出何出操作,最终结果都是输的局面。必败局面经过2次操作后,可以达到另一个必败局面。必胜局面:经过1次操作后可以达到必败局面。即当前局面不是必败局面就是必胜局面,而必 阅读全文
摘要:
欧几里得算法:欧几里得算法又称辗转相除法,用于计算两个整数a,b的最大公约数。原理:gcd(a,b) = gcd(b,a mod b);实现代码:扩展欧几里得算法:扩展欧几里得算法是用来在已知a,b的情况下求解一组p,q 使得 p*a + q*b = gcd(a,b)原理:因为gcd(a,b) = gcd(b, a%b)所以 p*a + q*b = gcd(a,b) = gcd(b, a%b) = p*b + q*(a%b) = p*b + q*(a - (int)a/b*b) = q*a + (p - (int)a/b)*b (a%b = a - (int)a/b*b)这样它就把a,b的线性 阅读全文
摘要:
这貌似也是道数学题。。找到方法就很简单。。求尾数0的个数实际上是求阶乘中因子‘5’的个数,复杂度为o(n^2)直接查找计数可能超时,因此有如下算法: 阅读全文
摘要:
这是一道数学题。。思路大概是这样:m=n^n,两遍分别对10取对数得 log10(m)=n*log10(n),得m=10^(n*log10(n)),由于10的任何整数次幂首位一定为1,所以m的首位只和n*log10(n)的小数部分有关以诚兄的代码:数学推导步骤如下: 阅读全文