OpenOrz

天地法则,数的世界。。。。

博客园 首页 联系 订阅 管理

2011年11月14日

摘要: 将N!表示成N!=p1^t1*p2^t2*…pi^ti…*pk^tk(其中p1,p2……pk是素数,1<N<=10^6)显然很容易通过素数筛选求出pi,因为1<pi<=N,关键是如何快速地求出ti。我们先来看一下对于2这个素因子,把N!分成两部分,即奇偶两部分假设N是偶数N!=1*2*3*4*5……N=(2*4*6……)*(1*3*5……)因为有N/2个偶数,所以偶数部分可以提出N/2个2,=2^(N/2)*(1*2*3*……N/2)*(1*3*5*……)=2^(N/2)*(N/2)!*(1*3*5*……)看到了吗!神奇的事情发生了,N规模的问题转化成了N/2的问题了。 阅读全文
posted @ 2011-11-14 22:23 OpenOrz 阅读(1072) 评论(0) 推荐(2) 编辑