【转】 数论之欧拉函数整理
摘要:欧拉函数(资料+模板)一下内容转自:http://www.cppblog.com/ArcTan/articles/172265.htmlhttp://zh.wikipedia.org/wiki/%E6%AC%A7%E6%8B%89%E5%87%BD%E6%95%B0欧拉函数 :欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) 。完全余数集合:定义小于 n 且和 n 互质的数构成的集合为 Zn ,称呼这个集合为 n 的完全余数集合。 显然 |Zn| =φ(n) 。有关性质:对于素数 p ,φ(p) = p -
阅读全文
posted @
2012-08-17 11:00
Yuna_
阅读(301)
推荐(0)
【转】 数论之因子个数的求解
摘要:转自:http://blog.csdn.net/ice2013/article/details/73976661. N的因子个数条件:给定任意一个一个正整数N要求:求其因子的个数首先给出结论:对于任意的整型N,分解质因数得到N= P1^x1 * P2^x2* …… * Pn^xn;则N的因子个数M为 M=(x1+1) * (x2+1) * …… *(xn+1);证明过程:首先 举个例子吧24 = 2^3 * 3^1;其质因子有:为2和3 指数为 3和1那么对于2 有0 1 2 3四种指数选择,对于3 有0 1两种指数选择所以 就是4 * 2 = 8 个因子个数如果还是不懂,那么我们就列举出来吧
阅读全文
posted @
2012-08-14 15:01
Yuna_
阅读(196)
推荐(0)
【HDU】 1212 Big Number
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1212起先一看,哦,是大数;接着再看,取模问题,而且:B will be smaller than 100000。引起我思考最主要的原因是用大数写取模的问题我还真不太会,然后就找到了一个很有用的定理:同余定理。百度百科的版本: 1)a≡a(mod d) 2)a≡b(mod d)→b≡a(mod d) 3)(a≡b(mod d),b≡c(mod d))→a≡c(mod d) 如果a≡x(mod d),b≡m(mod d),则 4)a+b≡x+m (mod d) 5)a-b≡x-m (mo...
阅读全文
posted @
2012-08-04 17:54
Yuna_
阅读(72)
推荐(0)
【HDU】 2674 N!Again
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2674乍看题目,目测暴力解决,一看数据大小,10^9,目测TLE……接下来稍加分析就能得到结论,显然N>=2009之后结果肯定是0嘛! 然后就想到用打表的方法做,得到2009之前的数据,存放在一个数组中,这个方法也是能过的。另一个方法是网上看来的,其实只要N>=41之后,结果就是0了,因为41*(40!)= 246105,而5*2009 = 246105,那么其实只需要打表打到41就好了,因为41很小,不打表也是不会超时的。最后将100之前的N!%2009取模都取出来,就是下面的结果:1
阅读全文
posted @
2012-08-04 10:17
Yuna_
阅读(160)
推荐(0)
【FOJ】Problem 1050 Number lengths
摘要:数论的题目就是在我们看似只能用暴力方法解决或者甚至无解的时候,往往几个名人的XX公式,三下五除二就解决了。由此真心叹服这些数学家的杰出贡献!下面介绍几个常见的类似问题,然后集中解决这个问题:一、 求整数的最高位 总结来看,求某个数N的位数,常见的解决方法就是化成 10log10(N),接着将log10(N)分解成整数部分INT和小数部分FRA,即:log10(N)=INT+FRA -->10log10(N)= 10INT+FRA。 因为10INT肯定是10的倍数,对最高位没有任何贡献(因为肯定是10……),而10FRA∈(1,10),所以最高位数可能取值∈(1,10),相应是10FRA的
阅读全文
posted @
2012-07-17 11:17
Yuna_
阅读(202)
推荐(0)