hamming-numbers相关内容

仅使用素数 2、3 和 5 生成序列,然后显示第 n 项 (C++)

我正在解决一个问题,该问题要求使用素数 2、3 和 5 生成一个序列,然后显示序列中的第 n 个数字.所以,如果我让程序显示第 1000 个数字,它应该显示它. 我不能使用数组或类似的东西,只能使用基本的决策和循环. 我开始研究它并碰壁......这就是我得到的: #include 使用命名空间标准;int main() {无符号整数 n=23;for(int i ..
发布时间:2022-01-17 09:53:05 C/C++开发

无限生成汉明序列的最新技术

(这太令人兴奋了!)我知道,这个主题是众所周知的.用于有效生成无限递增的汉明数序列,没有重复和遗漏的最新技术(在 Haskell 以及其他语言中)长期以来一直如下(AFAIK - 顺便说一句,它相当于 原始 Edsger Dijkstra 代码): hamm :: [整数]hamm = 1 : map (2*) hamm `union` map (3*) hamm `union` map (5* ..
发布时间:2021-12-14 11:38:33 其他开发

nᵗʰ丑数

质因数只有 2、3 或 5 的数称为丑数. 示例: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ... 1 可以认为是 2^0. 我正在寻找第 nth 个丑陋的数字.请注意,随着 n 变大,这些数字的分布极其稀疏. 我写了一个简单的程序来计算给定的数字是否丑陋.对于 n >500 - 它变得超级慢.我尝试使用备忘录 - 观察:ugly_number ..
发布时间:2021-12-06 20:16:22 其他开发

仅使用质数2、3和5生成序列,然后显示第n个项(C ++)

我正在研究一个问题,该问题要求使用质数2、3和5生成一个序列,然后在序列中显示第n个数字.因此,如果我要求程序显示第1000个数字,则应该显示它. 我不能使用数组或类似的东西,而只能使用基本的决策和循环. 我开始研究它并撞到墙...这就是我得到的: #include使用命名空间std;int main(){无符号整数n = 23;for(int i = 2; ..
发布时间:2021-04-19 19:06:29 C/C++开发

丑陋的数字

仅主因子为2、3或5的数字称为丑陋的数字. 示例: 1,2,3,4,5,6,8,9,10,12,15,... 1可以视为2 ^ 0. 我正在寻找第n 个丑陋的数字.请注意,随着 n 变大,这些数字的分布极为稀疏. 我写了一个琐碎的程序,计算给定数字是否丑陋.对于 n>500 -变得超级慢.我尝试使用记忆-观察: ugly_number * 2 , ugly_number ..
发布时间:2021-04-02 20:22:55 其他开发

查找一组素数大于x的素数的算法

考虑有限集{2,3,5,...,n}。我对素数感兴趣,但这个问题可能适用于任何一组数字。我想找到这些数字升序的所有可能乘积,尤其是大于或等于某个数字x的乘积。有谁知道一个不错的算法吗? 编辑来澄清一下: 输入集中的每个因子都可能可以使用多次。如果输入为{2,3,5,7},则输出为{2,3,4,5,6,7,8,9,10,12,14,15,16,18,...} 。该算法只要产生的结果大于或 ..

O(N)速度和O(1)记忆的汉明数

免责声明:对此有很多疑问,但是我没有找到任何需要恒定内存的东西。 汉明数字是一个 2 ^ i * 3 ^ j * 5 ^ k ,其中i,j,k是自然数。 是否有可能生成具有O(N)时间和O(1)(恒定)内存的第N个汉明数?在生成下,我的意思是生成器,即您只能输出结果而不能读取先前生成的数字(在这种情况下,内存将不是恒定的)。但是,您可以保存一定数量的常量。 例如,基于优先级,我看 ..

在给定其主要因子但指数未知的情况下如何生成数字?

可能的重复项: 第n个丑陋的数字 找到表示表达式的第K个最小数字(2 ^ x)*(3 ^ y)*(5 ^ z) 我想知道如何快速而优雅地解决此问题: 我们定义每个数字 n 为“丑陋",其形式为:2 ^ x * 3 ^ y * 5 ^ z ;,其中x,y和z是自然数.找到第1500个丑陋的数字. 例如第一个“丑陋"的数字是: 1, 2, 3, 4, 5, 6, 8, 9, ..
发布时间:2020-05-06 11:01:35 Python

查找不小于N的最小正则数

常规数字是均分60的幂的数字.例如,60 2 = 3600 = 48×75,因此48和75都是60的幂的因数.因此,它们也是正数. 这是的扩展,向上取整为2的下一个幂. 我有一个整数值 N ,它可能包含大素数,我想将其四舍五入为仅包含小素数(2、3和5)的数字 示例: f(18) == 18 == 21 * 32 f(19) == 20 == 22 * 51 f(257 ..

难以理解/可视化SICP流汉明数程序

我在SICP中基本坚持3.56.问题是这样的: 锻炼3.56.由R. Hamming提出的一个著名问题是,以升序(无重复)枚举除2、3或5以外没有素数的所有正整数.一种显而易见的方法是简单地测试每个整数依次查看是否有2、3和5以外的任何其他因素.但这效率很低,因为随着整数变大,越来越少的整数符合要求.或者,让我们调用所需的数字流S,并注意以下有关事实. S以1开头. (比例流S 2) ..
发布时间:2020-04-30 08:20:39 其他开发

无限制的汉明序列中的最新技术

(这很令人兴奋!)我知道,题材是众所周知的。最先进的技术(在Haskell以及其他语言中)用于高效生成无限增加的汉明数字序列,无重复和无遗漏,长期以来一直如下(AFAIK - 顺便说一句,它相当于 original Edsger Dijkstra's code ) : hamm :: [Integer] hamm = 1:map(2 *)hamm`union` map 3 *)hamm ..
发布时间:2018-06-04 14:38:56 其他开发

查找第K次数最少为前pression(2 ^ X)*(3 ^ Y)*(5 ^ Z)

在EX pression 2 X * 3 是 * 5 以Z 在 X ,是和以Z 可以非负整数值(> = 0)。 所以,函数将生成一个序列号 1,2,3,4,5,6,8,9,10,12,15,16的...... 在我有一个蛮力解决方案。 我将基本上遍历在循环中以1开始,在每个迭代我会发现如果当前数目的因素是只从该组2,3或5 我想有是一个优雅的算法。 这是一个面试问题。 解决方案 ..
发布时间:2015-11-30 14:16:40 Java开发

棘手的谷歌面试问题

我的一个朋友正在找工作面试的。其中一个面试问题让我思考,只是想一些反馈。 有2个非负整数:i和j。给出下面的等式,找到一个(最佳)溶液来迭代i和j在这样一种方式,输出的排序 2 ^ I * 5 ^Ĵ 所以前几轮应该是这样的: 2 ^ 0 * 5 ^ 0 = 1 2 ^ 1 * 5 ^ 0 = 2 2 ^ 2 * 5 ^ 0 = 4 2 ^ 0 * 5 ^ 1 = 5 2 ^ 3 ..
发布时间:2015-11-30 14:11:12 C/C++

使用一组素数按升序排列生成整数

我有一组素数的和我只用那些主要因素在增加,以生成一个整数。 例如,如果设定的是的 P = {2,5},则我的整数应为1,2,4,5,8,10,16,20,25,... 有没有什么有效的算法来解决这个问题? 解决方案 其基本思想是,1为集的成员,并为设置的 N 的每个成员也是如此2 N 的和5的 N 的是一组的成员。这样,你就开始通过输出1,推动2和5到优先级队列。然后,反复弹出优先队列的前 ..
发布时间:2015-11-30 14:04:20 C/C++

第n个丑数

号,其唯一的首要因素是2,3或5被称为难看号码。 例如: 1,2,3,4,5,6,8,9,10,12,15,... 1可以被认为是2 ^ 0 我正在寻找第n个丑数。请注意,这些数字是非常稀疏分布为n变大。 我写了一个计算,如果给定的数字是丑,不是一个简单的程序。对于n> 500 - 它成为超慢。我试着用记忆化 - 观察:ugly_number * 2,ugly_number * 3,ug ..
发布时间:2015-11-30 13:28:54 C/C++