算法学习之 数论
来源:互联网 发布:淘宝上的evisu旗舰店 编辑:程序博客网 时间:2024/06/09 23:38
数论
一.素数
v素数(又称质数)就是除了1和本身以外没有其他的因子的大于1的正整数.
v100以内的素数有{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97}
1.筛选法 生成素数表 【埃拉托斯特尼筛选法】当需要求某一区间[2,n]内的所有素数时,可以从2开始,对于当前素数p,将p^2后所有p的倍数筛去
每个数最多被筛去一次
每次找到下一个没有被筛到的数就是一个素数
时间复杂度为O(nlgn)
2.开根判断素数法
二.最大公约数 与 最小公倍数
gcd:greatest common divisor
lcm:lowest common multiple
1.gcd求法
欧几里德算法 即 辗转相除法
另一种(二进制算法)
2.lcm求法
两项相乘 再 除以这两项的gcd
2.开根判断素数法
二.最大公约数 与 最小公倍数
gcd:greatest common divisor
lcm:lowest common multiple
1.gcd求法
欧几里德算法 即 辗转相除法
另一种(二进制算法)
若a=b, gcd(a,b)=a
若a和b均为偶数, gcd(a,b)=2*gcd(a/2,b/2)
若a为偶数, b为奇数, gcd(a,b)=gcd(a/2,b)
若a和b均为奇数, gcd(a,b)=gcd(a-b,b)
不需要除法, 适合大整数
2.lcm求法
两项相乘 再 除以这两项的gcd
0 0
- 算法学习之 数论
- 算法导论学习_数论
- 数论初步之欧几里德算法
- 数论之欧几里得算法hdu1019
- ACM经典算法之数论
- 算法导论之有关数论的算法
- 数论学习之扩展欧几里得
- |算法讨论|数论数学 学习笔记
- 数论之欧几里德算法(一)
- 数论之欧几里德算法(二)
- 数论之欧几里德算法(三)
- 数论之欧几里德算法(四)
- 数论之欧几里得与拓展欧几里得算法
- 数论算法
- 数论算法
- 数论算法
- 数论算法
- ACM学习_数学基础之数论
- Java的Object.hashCode()的返回值到底是不是对象内存地址?
- MODBUS协议
- fedora wifi频繁断开
- javascript取网页DOM自定义属性值和设置自定义属性值的通用方法
- nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.springframewo
- 算法学习之 数论
- 与类有关的知识点
- STM8内部EEPROM的使用
- 【hihoCoder 1139】 二分·二分答案
- Eclipse:Cannot complete the install because of a conflicting dependency.问题解决
- 使用10046 trace跟踪SQL
- python学习之--Django--Forms使用
- 技术方案解决总结
- IOS -- FMDB的使用心得