求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.只求编程的思路.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/02 14:25:17
求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.只求编程的思路.
xTNQ[rI'/}iZ>) "`ro\4(X Ϝ}f_:spJ[lɜk5_]7 Ӊa>Lc1ծ}!z!\Vzy2ztdJPGBDXd1jb+`3J9n(܋[]b; 8-N,ЦaEnIb͛sc|RT?lg ,^gk莏2R3Jf`<)s5\Eb`5^m<&j)LhnٹެR_z/(pZg!8<@d6?~j5S1?8N羮$u y

求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.只求编程的思路.
求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.只求编程的思路.

求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.只求编程的思路.
我是这样想的,首先知道第一个数是1,扩展一位得到{2,3,5}
取出最小的2,扩展一位,得到{4,6,10},合并之前剩下的数 得到{3,4,5,6,10}
取出最小的3接着扩展一位,得到{6,9,15},合并之前剩下的数得到 {4,5,6,6,9,10,15},注意有个重复的6
.
这样一直扩展下去,最多扩展1500次就找到第1500大小的数,每次扩展只能派生出3个数,所以存储空间也就1500*3 = 4500
用优先队列,每次取最小的数,看看跟上一次取的是不是一样大,一样的就抛弃,否则继续扩展
其实可以更优一些
首先我们思考为什么会产生重复的数?比如2*3,3*2,因为3乘以了比它小的数2,如果一个数扩展的时候已经乘以过3了,那就不比它小的2进行扩展了.
我们可以记录当前每个数他们最大乘以过{2,3,5}里面哪一个.比如2*2这个数可以用{2,3,5}三个数扩展.2*3只能用比3大的数扩展{3,5},乘以过5就只能用5来扩展.
这样就不会出现重复的数了.用优先队列就可以扩展出最优的解.时间复杂度Nlog(N),空间复杂度(N*3)

求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0 C编程:求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0如题 求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0 求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.只求编程的思路. 求第1500个只有2,3,5因子的数 数是从小到大排列 第一个数是1,1=2^0*3^0*5^0.希望给的是原创 求第1500个只有2,3,5因子的数.数是从小到大排列,第一个数是1,1=2^0*3^0*5^0.你的解释看了,最后还是不懂呢 “时间复杂度Nlog(N)” ,有没有其他的思路了? free pascal的题目一个数如果只有因子2、3、5或7,那么这样的数就叫做神奇数.数据序列1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27,是前20个神奇数.写程序求出数据序列的第n个神奇数输入:一个整数n 数2450的因子数怎么求?有多少? 一个耗尽天才脑力的数学问题求具有100个因子的最小整数是多少?(包括1和这个数本身)例如:24有1,2,3,4,6,8,12,24共8个因子. 《急》已知24有8个正整数因子1,2,3,4,6,8,12,24已知24有8个正整数因子1,2,3,4,6,8,12,2424正好被其因子8整除,求[300,1000]之间能被其因子数目整除的数的总和. 分解因式pascal一个自然数N的正因子个数记为F(N),例如18的所有正因子为1、2、3、6、9、18,所以F(18)=6.现在给出K,求所有满足F(N)=K的N中最小的数.要求pascal语言完成.Input 第一行n,表示有n个数据,1我 pascal 输入判断H数 【问题描述】 所谓H 数是指:仅包含质因子2,3,5,7的数.例如:2,3,4,5,6,7,8,9,10 均为H数但 11 不是H数,12是H数,13不是H数,.给出一个N (10≤n≤10000),求出由小到大的第N 个H 数.例 24有8个正整数因子 24刚好被8整除.求1000到1500之间这样的数 急求用C#编写一个程序:求2-100中的完数(因子之和等于它本身的数称为完数,如6=1+2+3). 急求用C#编写一个程序:求2-100中的完数(因子之和等于它本身的数称为完数,如6=1+2+3). 35的数因子是什么? 若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数.求[1,200]之间有多少个多因子完备数用C语言编写;最后答案为4请用C语言编写 因子分解是指将一个整数分解为若干个素数的积的过程如20的素数因子有2、2、5(1不是素数因子).要求:输入一个整数(int),请按升序输出该数的所有素数因子以及因子之和. C++编程实现 求一个正整数数的全部素数因子输出格式 例如 :126=2*3*3*7