LightOJ -kuangbin 数论

LightOJ数论题目小结

题目

这儿–[kuangbin]数学训练四 数论

简单题解

  • LightOJ 1007 Mathematically Hard
    因为数据样例比较多,所以进行预处理.至于欧拉函数可以用线性筛选的方法(很棒,牢记!)

  • LightOJ 1014 Ifter Party
    题意是求大于某个数的因子,一般用暴力的枚举,效率为 N ,sort之后输出就好了

  • LightOJ 1024 Eid 求1~N的最小公倍数,可以枚举1~N的素数的幂数,然后乘起来,要用到大数,本来辛辛苦苦敲好了大数然后忘了保存,一怒之下就不敲了

  • LightOJ 1028 Trailing Zeroes (I)
    求N的因子数,假设 N=aq1bq2...zqn ,那么因子数 O(N)=(1+q1)(1+q2)....(1+qn) ,如果 N 特别大的话就预处理一下素数

  • LightOJ 1035 Intelligent Factorial Factorization
    很简单的一题,直接写就好了

  • LightOJ 1045 Digits of Factorial
    有关位数的问题经常用log来处理,这题也不例外.

  • LightOJ 1067 Combinations
    这题我不会,貌似用Lucas定理什么的来做,可惜至今没看懂,于是没敲.

  • LightOJ 1077 How Many Points?
    喜闻乐见的水题,只要求GCD就好了

  • LightOJ 1007 How Many Points?
    求末尾0无非是找2和5,这个还是很简单的拉

  • LightOJ 1098 A New Function
    额,代码很短却很有启示意义的题目,如何不重复的计算,那么我们就约束一定的方法就好了,对于每个素数 N ,我们从 N+1 来算就不会重复了

  • LightOJ 1109 False Ordering
    又是喜闻乐见的水题,求出因子数再排个序就好了

  • LightOJ 1138 Trailing Zeroes (III)
    详细的请看这里

  • LightOJ 1163 Bank Robbery
    A=10x+y ,那么 AB=9x+y ,只要枚举 y 就好了

  • LightOJ 1197 Help Hanzo
    因为b-a很小,所以我们可以把线性筛选质数的方法运用到指定的区间上

  • LightOJ 1213 Fantasy of a Summation
    对于多重for循环里边的变量可以看做组合和排列的问题,然后这题就用快速幂就可以了

  • LightOJ 1214 Large Division
    模拟一下手工的除法就好了,额,好像要某个数论的定理什么的也可证明…

  • LightOJ 1215 Finding LCM
    如果AB已经达到L中某个质数的最高次幂,那么L就不再需要了就可以除去,不然就保留,貌似有简单的减法,直接GCD就好了,可以我不会………………..

  • LightOJ 1220 Mysterious Bacteria
    脑洞开了一下,直接枚举 p ,然后再回来验证是否正确…注意附属时候是不可能偶数次幂的

  • LightOJ 1234 Harmonic Number
    求调和级数的大小,这里貌似用片取法,很棒的方法

  • LightOJ 1236 Pairs Forming LCM
    这也是一道写起来相当容易却相当考验数学思维的题目,建议用唯一分解定理,最后列出表达式,求解

  • LightOJ 1245 Harmonic Number (II)
    直接暴力 N 枚举因子

  • LightOJ 1259 Goldbach`s Conjecture
    直接预处理一下,然后暴力验证就好了

  • LightOJ 1278 Sum of Consecutive Integers
    列出表达式,然后就会发先这题就是求该数的奇数因子个数就是了,可惜WA了好多次,QAQ.

总结

  • 数论的题目最重要的是数学思维,列出表达式,包括推导结果……(反正我不会)靠智商的东西

  • 欧拉函数可以用线性筛的方法做(尤其用于预处理),而对于相当大的数可以选择预处理素数

  • 求因子暂时只会用 N 的方法暴力….

  • 因子数比较简单,为 (q1+1)(q2+1)....(qn+1) ,而求因子和也比较简单 aq1+111a11aq2+121a21......aqn+1n1an1

  • 有关某个数有多少位,前多少位都可以用 log 来解决

  • for循环什么的可以看做组合问题

  • 末尾0通常是来计算2和5的个数

  • 线性筛选质数可以用到区间上边

  • 在求因数的时候遇到重复的问题可以用 N(N+1) 解决

你可能感兴趣的:(数论)