【USACO题库】3.1.3 Humble Numbers丑数

【USACO3.1.3】Humble Numbers丑数(蒟蒻解析) (注:属于蒟蒻的分析,不存在高端代码操作,只有简单的实现过程) 【USACO3.1.3】Humble Numbers丑数 时间限制 :10000MS空间限制 :655360KB; 问题描述 对于一给定的素数集合 S = {p1, p2, ..., pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1p2、p1p1、p1p2p3...(... 阅读详情

题目描述


对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于S 的数的集合。这个集合包括,p1, p1p2, p1p1, 和 p1p2p3 (还有其它)。这是个对于一个输入的S的丑数集合。
注意:我们不认为1 是一个丑数。

你的工作是对于输入的集合S去寻找集合中的第N个丑数。longint(signed 32-bit)对于程序是足够的。


INPUT FORMAT
第 1 行:二个被空间分开的整数:K 和 N , 1<= K<=100 , 1<= N<=100,000.
第 2 行:K 个被空间分开的整数:集合S的元素
SAMPLE INPUT (file humble.in) 
4 19
2 3 5 7

OUTPUT FORMAT
单独的一行,写上对于输入的S的第N个丑数。
SAMPLE OUTPUT (file humble.out)

27


这道题目我给出从最根本到高效的所有算法:

首先,最容易想到,不用动脑都可以想到的就是分解i的质因数是否是丑数,然后再inc(ans),判断ans=n的时候输出i。

代码:

var
        n,m,i,k,tot,ans:Longint;
        a:array[1..100] of Longint;
        s:set of 1..100;
function fenjie:boolean;
var
        x,y:Longint;
begin
        x:=k;
        y:=2;
        while x>1 do
        begin
                while x mod y=0 do
                begin
                        if not (y in s) then exit(false);
                        x:=x div y;
                end;
                inc(y);
        end;
        fenjie:=true;
end;

begin
        readln(n,m);
        for i:=1 to n do
        begin
                read(a[i]);
                s:=s+[a[i]];
        end;

        tot:=0;
        k:=2;
        while tot<m do
        begin
                if fenjie then
                begin
                        inc(tot);
                        ans:=k;
                end;

                inc(k);
        end;

        writeln(ans);
end.
但是上面算法的效率极低,只能得20分。


我们可以进一步优化,当我们把19个丑数列出来时:

num=2 3 4 5 6 7 8 9 10 12 14 15 16 18 20 21 24 25 27

tot=1 2 3 4 5 6 7 8  9 10 11 12 13 14 15 16 17 18 19

你会发现,其实

4是由两个2组成的

6是由2,3组成的

8是由2,4组成的

9是由3,3组成的

10是由2,5组成的...

这些所组成的数,都是由前面的丑数*a[k]得来的,所以可以得到如下的一个算法:

判断当前是由前面哪个丑数乘以a[k]得来的最小值且大于第i-1个丑数的丑数。

var
        i,j,k,p,n,max:longint;
        a:array[1..100] of longint;
        f:array[0..100000] of longint;
function min(x,y:Longint):Longint;
begin
        if x<y then exit(x) else exit(y);
end;
begin
        readln(n,k);
        for i:=1 to n do
                read(a[i]);

        f[0]:=1;
        for i:=1 to k do
        begin
                max:=maxlongint;
                for j:=1 to n do
                    for p:=1 to i do
                        if a[j]*f[p-1]>f[i-1] then max:=min(max,a[j]*f[p-1]);	//取一个最小值max,但前提大于f[i-1]
                f[i]:=max;
        end;

        writeln(f[k]);
end.
这样一来,大概可以得50分了,但是还可以再进一步优化:

还是刚刚模拟的数:

num=2 3 4 5 6 7 8 9 10 12 14 15 16 18 20 21 24 25 27

tot=1 2 3 4 5 6 7 8  9 10 11 12 13 14 15 16 17 18 19

我们先来看一下为什么上面的算法会慢,例如当判断第19个丑数的时候,你还要从第1个丑数开始判断,这样肯定慢了,因为第一个丑数2乘以任何a[i]都不可能大于第18个丑数,第二个、第三个、第四个也一样——27肯定是由第8个丑数与3构成的。

还可以这样理解:当前a[2]=3,3与第4个丑数构成了第12个丑数,那么,请问,接下来的丑数构成,3与第4个丑数还有可能构成吗?3只有可能与第5个丑数构成,当然这不一定能构成,但至少可以判断3不可能与前4个丑数构成了。

所以可以得出如下结论:

判断当前第i个丑数是什么值之后,再判断是由哪个丑数乘以哪个a[i]构成的,然后再把i所可能构成的丑数的位数+1.以此类推,可以得到最优解,效率O(nk):

var
        d:Array[1..100000] of Longint;
        f:Array[1..100] of Longint;
        a:array[1..100] of Longint;
        k,n,i,j,tot,max:longint;
begin
        readln(k,n);
        for i:=1 to k do
        begin
                read(a[i]);
                f[i]:=1;
        end;

        tot:=1;
        d[1]:=1;
        while tot<=n do
        begin
                inc(tot);
                max:=maxLongint;
                for i:=1 to k do
                        if (d[f[i]]*a[i]<max) and (d[f[i]]*a[i]>d[tot-1]) then max:=d[f[i]]*a[i];
                for i:=1 to k do
                        if d[f[i]]*a[i]=max then inc(f[i]);		//这里记录是由哪个构成的,然后就可以快速得出下一个丑数了。
                d[tot]:=max;
        end;

        writeln(max);
end.








陀螺仪及四元数解算 陀螺仪 四元数 阅读详情

相关推荐

中科蓝讯蓝牙耳机SDK实战:从目录解析到消息处理框架

本文深入解析中科蓝讯蓝牙耳机SDK的目录结构与消息处理框架,提供从硬件驱动到蓝牙功能定制的实战指南。重点剖析SDK核心模块如消息队列机制、按键事件处理及电量报告优化,并分享二次开发中的调试技巧与避坑经验,助力开发者高效完成TWS耳机功能定制。

weixin_30335575的博客 387

洛谷P1246C语言,codevs1246 丑数

题目描述 Description对于一给定的素数集合 S = {p1, p2, ..., pK},来考虑那些质因数全部属于S 的数的集合。这个集合包括,p1, p1p2, p1p1, 和 p1p2p3 (还有其它)。这是个对于一个输入的S的丑数集合。注意:我们不认为1 是一个丑数。你的工作是对于输入的集合S去寻找集合中的第N个丑数。longint(signed 32-bit)对于程序是足够的。输入...

weixin_39680678的博客 409

探索niri:让你的Linux桌面布局无拘无束

niri是一款基于Wayland的滚动平铺合成器,采用创新的窗口管理方式。它将窗口排列为向右无限延伸的条目,支持独立显示器布局和动态垂直工作区,确保多任务操作流畅性。核心功能包括概要视图、截图界面、屏幕投射、手势操作、窗口分组等,并支持自定义布局和动画效果。niri具备良好的稳定性,兼容xwayland-satellite工具,灵感来自PaperWM但突破了GNOME限制。该项目为追求高效桌面管理的用户提供了全新解决方案,欢迎加入社区交流体验。

weixin_44626085的博客 1816

USACO3.1.3 Humble Numbers (humble)

我们在数组ans中计算出前n个丑数。为了实现起来更简单,我们把1也作为一个丑数,算法也要因此略微调整一下。 当我们已知前k个丑数,想得到第k+1个,我们可以这样做: 对于每个质数 p 寻找最小的丑数 h 使得 h*p 比上一个丑数大 取我们找到的 h*p 中最小的一个,它就是下一个丑数 /* ID:xsy97051 LANG:C++ TASK:hum

xsy_victory的专栏 409

手把手教你用Wireshark抓包分析Profinet非周期通信(附实战案例)

本文详细解析了PROFINET非周期通信(RTA)的技术原理与实战应用,通过Wireshark抓包分析,揭示从PLC请求到驱动器响应的完整对话过程。涵盖实验环境搭建、关键配置步骤、典型参数访问流程及故障诊断案例,帮助工程师深入理解并优化工业网络通信性能。

Black的专栏 1050

86、高斯过程:学习、应用与自动相关性确定

本文介绍了高斯过程回归的基本原理及其在实际应用中的关键技术,重点探讨了通过最大化对数似然函数来学习模型超参数的方法,并详细阐述了自动相关性确定(ARD)技术如何用于评估输入变量的重要性。文章涵盖了从协方差函数定义、梯度计算到优化算法的应用流程,并通过流程图和表格形式总结了核心步骤与公式。此外,还讨论了贝叶斯处理方式及异方差问题的建模策略,展示了高斯过程在复杂数据建模中的灵活性与强大能力。

android的专栏 114

USACO - 3.1.3 - Humble Numbers

  原创文章转载请注明出处 摘要:动态规划 , 三星  一. 题目翻译 1. 描述: 对于一给定的素数集合 S = {p1, p2, ..., pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1*p2、p1*p1、p1*p2*p3...(还有其它)。该集合被称为S集合的“丑数集合”。         ...

12312312341234 236

PR工具timing report中setup time的计算过程

然后去pr工具里报告report_delay_calculation/reportDelayCalculation -from related_pin -to constraint_pin。这里constraint pin就是D pin (D0 D1 D2 D3),related pin就是 CK pin。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 455

SSl1684丑数

题目对于一给定的素数集合 S = {p1, p2, …, pK}, 来考虑那些质因数全部属于S 的数的集合。这个集合包括,p1, p1p2, p1p1, 和 p1p2p3 (还有其它)。这是个对于一个输入的S的丑数集合。   注意:我们不认为1 是一个丑数。   你的工作是对于输入的集合S去寻找集合中的第N个丑数。longint(signed 32-bit)对于程序是足够的。

戒毒戒赌戒网瘾,学习学问学做人——好好学习 355

C#解析基恩士(KEYENCE)PLC数据:KV协议通信与实时监控实现

KV协议是基恩士PLC使用的一种专用通信协议,通常用于与上位机进行数据交换。KV协议通过RS-232C、RS-485、Ethernet等接口与上位机通信,支持多种数据类型的读写,包括但不限于位、字、双字、浮点数等。简洁易用:KV协议的通信格式简单,易于实现。支持多种数据类型:支持位数据、字数据、定长字符串等。高效实时性:能够提供较高的实时数据交换性能,适合实时监控应用。本文介绍了如何通过C#与基恩士KV系列PLC进行通信,实现数据的解析和实时监控功能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1806

openclaw 保姆级部署与核心玩法解析:国产DeepSeek模型 + 飞书

OpenClaw是一款功能强大的开源AI个人助理,支持全平台私有化部署,数据完全本地掌控。它不仅可通过聊天窗口直接操控电脑(安装软件、创建项目),还支持接入飞书等主流通讯工具,化身24小时在线的智能助理。本文提供了从零开始的详细部署教程,涵盖基础安装、模型配置(如GLM-4、DeepSeek)到飞书集成的完整实战指南,助你将这款“核动力”AI助手快速融入日常工作流。

甘蓝的专栏 2999

1278. 【USACO题库】3.1.3 Humble Numbers丑数

1278. 【USACO题库】3.1.3 Humble Numbers丑数 (Standard IO) 时间限制: 1000 ms  空间限制: 262144 KB  具体限制   题目描述 对于一给定的素数集合 S = {p1, p2, ..., pK},  来考虑那些质因数全部属于S 的数的集合。这个集合包括,p1, p1p2,

wangyuda123456789的博客 852

Vue3 - Element Plus上传组件el-upload上传多个文件时,让on-change监听事件仅执行一次并获取最终文件列表方法(开启多选文件并手动上传,拿到文件列表统一循环调用接口上传)

vue3,elementplus,Upload上传,el-upload,文件上传组件,上传组件on-change里执行多次,取消自动上传后change重复执行问题,upload上传多个文件后导致on-change执行多次拿不到最终文件列表,Element-plus的upload组件on-change不断执行怎么办,上传多个文件多次执行调用,上传多个文件时如何只执行一次on-change方法拿到最终的文件列表,vue3elementplus上传组件开启多个上传后导致change方法执行好几次,仅调用一

🏆 前端领域优质创作者 1万+

堆----【USACO3.1.3】Humble Numbers丑数

nkoj 1821 Description 对于一给定的素数集合 S = {p1, p2, ..., pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1*p2、p1*p1、p1*p2*p3...(还有其它)。该集合被称为S集合的“丑数集合”。  注意:我们认为1不是一个丑数。  你的工作是对于输入的集合S去寻找“丑数集合”中的第N个“丑数

INCINCIBLE的博客 1353

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

USACO 3.1 Humble Numbers

For a given set of K prime numbers S = {p1, p2, ..., pK}, consider the set of all numbers whose prime factors are a subset of S. This set contains, for example, p1, p1p2, p1p1, and p1p2p3 (among other

millky的专栏 1400

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

USACO 3.1.3 Humble Numbers 丑数

分析:根据题目的意思,这个集合中每加入一个新的数字,都必须与前面的每个数字相乘再加入到该集合中,如此循环往复。但是所有的数字的因子一定包含给定的集合中的素数,也就是说所有数字是由给定集合的素数与集合中的其他数字相乘而得。由于题目要求按顺序来,所以再加入数字之前要先比较大小。 代码: /* ID: supersnow0622 PROG: humble LANG: C++ */ #include

supersnow0622的专栏 1252

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2021中国电信数据分析笔试

中国电信数据分析笔试——三道编程题 1 找丑数 若一个数的因子只有2,3,5,那么这个数称为丑数,1是第一个丑数,2是丑数,7不是丑数 。 要求给定一个整数N, 返回第N个丑数 思路:递归,基线条件第一个丑数为1 ;递归条件:第N个丑数为N-1个丑数后面的那个丑数 。如何判定丑数? a = 2^i 3^j 5^k ,则为a丑数 N =int(input()) def whoisNthugly(N): if N == 1: return 1 if N>1:

二郎银的博客 2934

OJ题--丑数

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

qq_38949748的博客 1548

wikioi 丑数

题目描述 Description 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于S 的数的集合。这个集合包括,p1, p1p2, p1p1, 和 p1p2p3 (还有其它)。这是个对于一个输入的S的丑数集合。 注意:我们不认为1 是一个丑数。 你的工作是对于输入的集合S去寻找集合中的第N个丑数。longint(signed 32-bit)

jjs98 1597

东华复试OJ-43 丑数

作者: Turbo时间限制: 1S章节: 枚举 问题描述 : 对于一给定的素数集合 S = {p1, p2, …, pK}, 来考虑那些质因数全部属于S 的数的集合。 这个集合包括,p1, p1p2(即p1乘以p2), p1p3, 和 p1p2p3 (还有其它很多)。 这是个对于一个集合S的丑数集合。注意:我们不认为1 是一个丑数。 你的工作是对于输入的集合S去寻找集合中的第N个丑数。 说明:结果...

weixin_42781960的博客 1040

打卡信奥刷题(95)用Scratch图形化工具信奥P2723 [USACO3.1] 丑数 Humble Numbers

对于一给定的素数集合Sp1​p2​...pk​, 考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1​p1​×p2​p1​×p1​p1​×p2​×p3​…(还有其它)。该集合被称为S集合的“丑数集合”。注意:我们认为1不是一个丑数。你的工作是对于输入的集合S去寻找“丑数集合”中的第n个“丑数”。补充:丑数集合中每个数从小到大排列,每个丑数都是素数集合中的数的乘积,第n。

Loge谈信奥--一个专注于信奥人的博客 2106

765 Ugly Number

Ugly Number 时间限制: 1000 ms 内存限制: 65536 kb 总通过人数: 127 总提交人数: 135 题目描述 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于S 的数的集合。 这个集合包括,p1, p1p2, p1p1, 和 p1p2p3 (还有其它)。这是个对于一个输入的S的丑数集合。

Winjay_233的博客 413

43 丑数

43 丑数 作者: Turbo时间限制: 1S章节: 枚举 问题描述 : 对于一给定的素数集合 S = {p1, p2, …, pK}, 来考虑那些质因数全部属于S 的数的集合。 这个集合包括,p1, p1p2(即p1乘以p2), p1p3, 和 p1p2p3 (还有其它很多)。 这是个对于一个集合S的丑数集合。注意:我们不认为1 是一个丑数。 你的工作是对于输入的集合S去寻找集合中的第N个丑数。...

内在的天空 249

[数据结构][usaco3.1.3]Humble Numbers

Humble Numbers丑数 译 by tim green 目录  [隐藏]  1 描述2 格式3 SAMPLE INPUT4 SAMPLE OUTPUT [编辑]描述 对于一给定的素数集合 S = {p1, p2, ..., pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1*

wu_yihao的专栏 958

丑数

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

m0_47302541的博客 214
上一篇: 【USACO题库】3.1.1 Agri-Net最短网络
下一篇: 【USACO题库】3.1.4 Shaping Regions形成的区域
John_pascal
博客等级 码龄11年 42粉丝 131原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值