`

求质因数只能是2,3,5,7的第n大个数(丑数求解)

阅读更多

题目:求质因数只能是2,3,5,7的第n大个数。例如:1,2,3,4,5,6,7,8,910,12,14,15,16,18

方法一:循环判断每一个数(自然数序列)是否符合丑数的定义,直至第n个数。还有一种思想就是分别求出2,3,5,7指数的范围,然后用多重循环产生每一个数,然后进行排序。

方法二:使用优先队列的方法:每次出最小的一个数,并将这个数分别乘以2,3,5,7的四个数入队,直到出了n个数为止。

方法三:使用四叉树,根节点是1,三个子节点是2,3,5,7,代表对应边的权值,每个子节点又有三个子节点2,3,5,7。如果用完全三叉树,会出现重复路径,比如1->3->2,和1->2->3,实际上是重复的,为了去除重复,对三叉树加上限制条件:2号节点后3个子节点(2,3,5);3号节点有2个子节点(3,5);5号节点有一个子节点(5)。这样就不会出先重复路径了。然后在用Dijkstra算法访问这棵四叉树,当访问完n个节点时就得到了最终结果。

方法四:每一个数都是前面某些数乘以2,3,5,7中最小的一个,用数组存储n个数,然后在用四个指针(数组小标)分别记录当前乘以2,3,5,7数(某些数)的位置,起始的时候指针值都为1,根据当前数的大小修改四个指针的大小,如当前数是20,那么2的指针一定是指向12,3的指针指向7,5的指针指向5,7的指针指向3,然后在利用四个指针计算下一个数,取12*2,7*3,5*5,3*7中最小的一个,最后在根据当前的数的大小,修改相应的指针(每次只需要增加一个指针就行了)。

1
1
分享到:
评论
1 楼 saieuler 2012-09-18  
写的挺详细

相关推荐

    求质因数的软件

    求质因数的软件,非常好用,编码简单!

    2032:例4.18分解质因数

    把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。 输入一个正整数n ,将n 分解成质因数乘积的形式。 【输入】 一个正整数n 。 【输出】 分解成...

    分解质因数

    自己写的小程序,可以验证任意正整数是否为质数。 也可以把一个非质数分解质因数。

    深入分析C语言分解质因数的实现方法

    首先来看一个最简单的C语言实现质因数分解的列子: ...把一个合数分解为若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数,分解质因数只针对合数 求一个数分解质因数,要从最小的质数除起,一直除到结

    测试用--质因数程序--c++文件--c语言通用

    第2版质因数程序的代码 PS:呃呃呃呃呃呃呃 第一次发这个东东,不知道为什么要写50以上的子 过1个月就付费!!!! 太难了吖 不过资源是好的 c++资源 如果你是学c语言的把头文件改成 然后把cin改成scanf 把cout改成printf ...

    质因数分解的java小程序练习

    一个简短的java质因数分解的小程序,算法不是很精巧,但是很容易懂

    易语言Eratosthenes筛选法求质数

    易语言Eratosthenes筛选法求质数源码,Eratosthenes筛选法求质数,Eratosthenes筛选法_求质数

    Python实现简单求解给定整数的质因数算法示例

    主要介绍了Python实现简单求解给定整数的质因数算法,结合实例形式分析了Python正整数分解质因数的相关操作技巧,需要的朋友可以参考下

    求质点的运行轨迹.docx

    本文是解决的是质点的运行轨迹问题,在不计空气阻力的情况下,为了求解物体在空气中运动的相应若干物理量,我们建立了一个最优化模型。物体的形状和大小可以忽略时,我们可以把该物体视为具有一定质量的几何点,即...

    C语言求质数[归类].pdf

    C语言求质数[归类].pdf

    易语言源码易语言Eratosthenes筛选法求质数源码.rar

    易语言源码易语言Eratosthenes筛选法求质数源码.rar 易语言源码易语言Eratosthenes筛选法求质数源码.rar 易语言源码易语言Eratosthenes筛选法求质数源码.rar 易语言源码易语言Eratosthenes筛选法求质数源码.rar ...

    python找出因数与质因数的方法

    主要介绍了python找出因数与质因数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    VB 分解质因数

    VB 分解质因数 VB 分解质因数 VB 分解质因数

    C++中采用模版类求质数

    在C++中定义模版数组类,然后输出2~N中所有质数

    for循环求质数

    for 循环,求质数,javascript学习参考代码, 可以供大家学习

    求文本中指定数字之后指定个数的所有素数

    全国计算机等级考试 三级数据库 上机100题之一

    python求质数列表的例子

    因为写别的程序想要一边遍历一边删除列表里的元素,就写了一个这样的程序...以上这篇python求质数列表的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文

    易语言Eratosthenes筛选法求质数源码-易语言

    易语言Eratosthenes筛选法求质数源码

    C++写的源代码 法雷序列求解

    这是一个用C++写的源代码 实现法雷序列的求解 里面包括 排序 求质数算法

    PERL编程24学时教程

    第1学时 Perl入门 3 1.1 安装Perl 3 1.1.1 等一等,也许你已经安装了Perl 4 1.1.2 在Windows 95/98/NT上安装Perl 5 1.1.3 在UNIX上安装Perl 6 1.1.4 在Macintosh系统上安装Perl 7 1.2 文档资料 7 1.2.1 某些特殊的...

Global site tag (gtag.js) - Google Analytics