首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

欧拉法(线性)的学习理解

在数论的学习中,我学到了埃氏法,O(nloglogn)的算法,而在一些数据范围达到1e7这样的题目中,也很难让人满意,于是我便学习了欧拉法,也即 O(n)的线性法。...埃氏法 埃氏法的基本思想 :从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的。...埃氏法的缺陷 :对于一个合数,有可能被多次。例如 30 = 2 * 15 = 3 * 10 = 5*6……那么如何确保每个合数只被筛选一次呢?我们只要用它的最小质因子来筛选即可,这便是欧拉法。...欧拉法 欧拉法的基本思想 :在埃氏法的基础上,让每个合数只被它的最小质因子筛选一次,以达到不重复的目的。...因为欧拉法的原理便是通过最小素因子来消除。 结语 对于欧拉法的学习是先从接触到题开始的,研究了一天才弄懂,很惭愧,再次遇到题也不见得可以游刃有余的解决,在此与大家共勉,学海无涯。

1.1K20

素数的

这样一定可以保证每个素数都会被出来 还有,我们第一层循环枚举到 就好,因为如果当前枚举的数大于n,那么它能出来的数一定在之前就被枚举过 比如说: 不难发现我们从20枚举所去的数一定被...欧拉 我们思考一下第二种法的运算过程 不难发现,对于6这个数,它被2了一次,又被3了一次 第二次显然是多余的, 我们考虑去掉这步运算 1 #include 2 #include...,可以避免重复 当i不是素数的时候 程序中有一句非常关键的话 1 if(i%prime[j]==0) break; 这句话可以保证:本次循环只能出不大于 的数 这样就可以保证一个数只会被它最小的素因子去...也就可以保证每个数只会被一次 举个例子, 设 ,此时能去 ,但是不能去 因为如果能晒出 的话, 当 时,筛除 就和前面重复了 另外为了方便大家直观理解,给出一张图表 ?  ...时间复杂度:严格 总结 在一般情况下,第二种法已经完全够用。 第三种法的优势不仅仅在于速度快,而且还能够积性函数,像欧拉函数,莫比乌斯函数等。 这个我以后还会讲的

1.3K60

jQuery 获取多选框值,以及多选框中文的函数实践 by FungLeo

jQuery 获取多选框值,以及多选框中文的函数实践 by FungLeo 前言 本方法是我刚在项目中用的方法.可能有更加好的方法.但我不清楚....DOM结构 我的多选框的dom结构,都是下面这种的.都是基础知识,不做过多阐述....input type="checkbox" name="sell_area" vlaue="3"> 宁夏 使用这种方法的优点是,点击文字就可以选择多选框了...关于美化多选框和单选框的内容,可以参考我的博文《关于单选框以及复选框的css美化方法》 JS代码 返回已经选中的多选框的值函数 function returnCheckboxVal(name){...返回已经选中的多选框的项目名称 如上,可能我需要返回的是甘肃,青海,陕西,宁夏这样的项目名.当然,这个也是可以做到的.

1.1K20
领券