首页 > 其他分享 >K11475 丑数[Ugly Numbers,UVa136](set解法)

K11475 丑数[Ugly Numbers,UVa136](set解法)

时间:2024-08-10 11:55:03浏览次数:16  
标签:丑数 set K11475 insert sum 样例 1500

题目描述

丑数是指不能被2,3,5以外的其他素数整除的数。

然后把丑数从小到大排列起来,前11个数如下:

1,2,3,4,5,6,8,9,10,12,15,...

编写一个程序,计算出第1500个丑数并输出。

输入格式

输出格式

输出为一行

计算出的第1500个丑数替换下面句子中的‘<number>’,再输出。

The 1500'th ugly number is <number>.

输入输出样例

输入样例1:
输出样例1:
The 1500'th ugly number is <number>.

【耗时限制】1000ms 【内存限制】128MB

这题应该是众所周知了,CSDN上题解也很多,但,我决定用一种非同寻常的写法——set!!!

思路:从1开始,一直分裂每个数的2、3、5倍,这样分出的每个数都满足题目条件,直到分裂出第1500个不重复的数为止(因为分裂是越来越大的,所以找第1500小的)

因为set具有自动排序、自动去重的特性,所以用set可以完美解决分裂数中的重复和第1500小的数

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
set<LL> s;
int main()
{
    LL cnt=0;
    s.insert(1);                                     //必须先放入1            
    while(1){                                        //死循环直到取出第1500个数
        LL sum=*s.begin();s.erase(s.begin());cnt++;  //取出set中最小的数,别忘了在set中删除
        s.insert(sum*2);                             //放入最小数的2、3、5倍
        s.insert(sum*3);
        s.insert(sum*5);
        if(cnt>=1500){printf("The 1500'th ugly number is %lld.",sum);return 0;}
    }
    return 0;
}

标签:丑数,set,K11475,insert,sum,样例,1500
From: https://blog.csdn.net/2301_79502610/article/details/141088400

相关文章

  • PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
    PointNet++:DeepHierarchicalFeatureLearningonPointSetsinaMetricSpaceAbstract这篇论文的摘要介绍了PointNet++,是一个用于度量空间中点集的深度层次化特征学习的神经网络。PointNet++是PointNet的扩展,它通过递归地在输入点集的嵌套划分上应用PointNet,利用度量空......
  • PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
    Abstract通常情况下研究人员会把点云数据转换为规则的3D体素网格或图像集合。这导致数据不必要的庞大,所以本文引入了一种新型的神经网络,能很好的尊重点云的排列不变性,名称是pointnet,并且能够应用于分类、分割、场景解析等下游任务。同时,网络的架构简单而且非常的高效。Intro......
  • Android 13 移植EthernetSettings/Ethernet更新
    移植EthernetSettingsAndroid13在Settings搜索没有发现以太网设置,应该是移除了,但是客户的设备需要,所以移植Android11的.以太网相关的功能在Android13中进行模块化,提取到packages/modules/Connectivity/中,EthernetManager相关代码从framework移到packages/modules/Conne......
  • 如何关闭redis的自动清理缓存,声明式事务(含有redis)如何解决,redis setnx锁的使用。
    20240809一、解决redis数据被删除的方案1、发现问题2、解决注意!!二、声明式事务(当有redis的时候)1.先看代码2.@Transactional(rollbackFor=Exception.class)3.如何解决redis在事务里面,如何保证原子性和一致性3.1我们可以用trycatchfinally来实现3.2我们可以让red......
  • adb Connection reset by peer的解决方法
    最近在编译一个老项目,项目中依赖了很多第三方库,用gradle编译要20-30分钟,而且内存开销很大。公司配的15G内存的电脑,一次编译能用到14G。编译的时候,ubuntu有概率会卡死(卡死的问题,网上的方法我尝试了一轮,但是没有用,物理重启电脑有效)。此为背景。昨晚重启之后,我发现adb用不了了。报......
  • 数据结构之Map与Set(上)
    找往期文章包括但不限于本期文章中不懂的知识点:个人主页:我要学编程(ಥ_ಥ)-CSDN博客所属专栏:数据结构(Java版) 目录二叉搜索树Map和Set的介绍与使用 Map的常用方法及其示例Set的常用方法及其示例哈希表 冲突-概念冲突-避免-哈希函数设计冲突-避免-负载因子调节......
  • bitset 学习笔记
    bitset有点厉害,必须要学了。介绍bitset可以看成是一个每个位置都是\(0\)或\(1\)的bool数组。与bool数组相比,它的空间复杂度是其\(\frac{1}{32}\),时间复杂度也是\(\frac{1}{32}\),还支持位运算,所以不论是用处还是效率基本薄纱了bool数组。可以作为卡常、压位操作、......
  • 在K8S中,DaemonSet类型的资源特性有哪些?
    在Kubernetes(K8S)中,DaemonSet是一种控制器资源对象,它具有一系列独特的资源特性,这些特性使得DaemonSet特别适用于在集群的每个节点上运行守护进程或服务。以下是DaemonSet类型资源特性的详细阐述:1.确保每个节点上运行Pod副本节点级部署:DaemonSet确保集群中的每个节点(或满足特定......
  • vue3 setup语法糖详解与使用
    Vue3+TypeScript系列笔记6.setup语法糖详解与使用语法糖(SyntacticSugar),是由英国计算机科学家彼得·约翰·兰达(PeterJ.Landin)发明的一个术语。它指的是在计算机语言中添加的某种语法,这种语法对语言的编译结果和功能并没有实际影响,但却能更方便程序员使用该语言。简单来......
  • 【题解】Solution Set - NOIP2024集训Day2 线段树
    【题解】SolutionSet-NOIP2024集训Day2线段树https://www.becoder.com.cn/contest/5431「CF1149C」TreeGenerator™结论:对于括号序列的一个子段,删去所有的匹配括号之后,剩下的不匹配的括号,按顺序构成树上的一条路径。Why?从括号序列的构造出发。每次(相当于开始遍历......