OJ题--丑数

这道题目要求根据给定的素数集合S找到集合中的第N个丑数,即所有质因数都属于集合S的数。举例来说,当S={2, 3, 5, 7}时,前15个丑数包括2, 3, 4, 5等。解决方案需要解决如何高效地找出第N个符合要求的丑数,输出结果不超过32位整数的范围。输入包含集合大小K和目标丑数的序号N,以及K个素数。例如,输入为4 15 2 3 5 7时,输出为20。" 6453798,207862,自定义Android重力感应屏幕旋转,"['Android开发', '传感器', '屏幕适配', '兼容性']
摘要由CSDN通过智能技术生成

问题描述 :
对于一给定的素数集合 S = {p1, p2, …, pK}, 来考虑那些质因数全部属于S 的数的集合。
这个集合包括,p1, p1p2(即p1乘以p2), p1p3, 和 p1p2p3 (还有其它很多)。
这是个对于一个集合S的丑数集合。注意:我们不认为1 是一个丑数。
你的工作是对于输入的集合S去寻找集合中的第N个丑数。
说明:结果不超过32位整数能表示的范围
比如:S={2, 3, 5, 7}
则前15个丑数为:
2,3,4,5,6,7,8,9,10,12,14,15,16,18,20

输入说明 :
第 1 行: 2个被空格分开的整数:K 和 N , 1<= K<=100 , 1<= N<=100,000.
第 2 行: K 个被空格分开的整数,即集合S的元素

输出说明 :
单独的一行,即第N个丑数。

输入范例 :
4 15
2 3 5 7

输出范例 :
20

#include<stdio.h>
#include<string.h>
#define max 100000

int main(){
   
	int i,j;
	int K,N,id[110
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值