18005 它不是丑数

题型: 编程题   语言: G++;GCC

Description

“丑数”是指除了质因子2,3,5,不含其它质因子的正整数,例如由小到大前10个“丑数”为
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ...
非“丑数”的前10个数为
7, 11, 13, 14, 17, 19, 21, 22, 23, 26, ...
现要求编写一个程序,输出指定第几位的非“丑数”。


 

输入格式

第一行为正整数T(T<=10000), 表示case的数目。
此后T行,每行一个正整数 n (n <= 100000000).
 

输出格式

每一个n,输出第n个非“丑数”
 

输入样例

3
1
2
9
 

输出样例

7
11
23

 题意:

求第n个非丑数

分析:

暴力求解,我们只要求出是丑数的数,那么非丑数就是在丑数和丑数之间了。

吐槽一下,学校oj开1e8+5明明就够了,就是不让过,搞得我搞了半个多小时在找bug

没想到居然得开再大点才过得了,服了

//我用的是紫书上优先队列的方法写的,详细解释可以看我的博客紫书上的丑数,里面有详解
#include <iostream>
#include <vector>
#include <queue>
#include <set>
#include <algorithm> 
using namespace std;
typedef long long ll;
const int N=200000005;
ll a[N];
int nums[3]={2,3,5};
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
    int t,cnt=0;
    cin>>t;
    priority_queue<ll,vector<ll>,greater<ll> >q;
    set<ll>s;
    ll tmp=1,m=1;
    q.push(1);
    s.insert(1);
    while(cnt<=100000000){
    	tmp=m;
    	m=q.top();
    	q.pop();
    	for(ll i=tmp+1;i<m;++i){
    		a[++cnt]=i;
    		//cout<<a[cnt]<<endl;
		}
		for(int i=0;i<3;++i){
			ll x=nums[i]*m;
			if(!s.count(x)){
				s.insert(x);
				q.push(x);
			}
		}
	}
	
    while(t--){
    	int n;
    	cin>>n;
    	cout<<a[n]<<endl;
	}
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/4793.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法第十九期——图论初入门

目录 一、前言 二、图的概念 三、图应用背景 四、图的种类 五、【图算法的复杂度】 六、【图的存储】 六.1、【数组存边】 六.2、【邻接矩阵】 六.3、【邻接表】 六.4、【链式前向星】&#xff08;一般比赛用不着&#xff09; 七、【图的遍历和连通性】 七.1、【如…

CSS Grid 网格布局详解

目录 一&#xff1a;Grid简介 二&#xff1a;基本概念 2.1 容器和项目 2.2 行和列 2.3 单元格 2.4 网格线 三&#xff1a;容器属性 3.1 display 属性 3.2.grid-template-columns 、grid-template-rows 属性 3.2.1.repeat&#xff08;&#xff09; 3.2.2.auto-fill 关…

【故障检测】基于 KPCA 的故障检测【T2 和 Q 统计指数的可视化】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

解析springboot源码中this::selfInitialize怪异用法的含义

最近在看springboot源码中有一段很怪异的代码 private ServletContextInitializer getSelfInitializer() {return this::selfInitialize;} 按照通常的java 8 lambda理解&#xff1a; 双冒号无法就是方法调用的另一中写法&#xff0c;那么this::selfInitialize就是调用selfIniti…

C++11右值引用

文章目录一、右值引用1.左值和右值2.左值引用和右值引用3.左值引用和右值引用的总结4.右值引用使用场景(1)移动构造(2)移动构造前后的区别二、完美转发一、右值引用 1.左值和右值 左值与右值是C语言就有的概念&#xff0c;但C语言并没有给出严格的区分方式&#xff0c;一般认…

华为OD机试用java实现 -【吃火锅】

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:吃火锅 题目 入职后,导师会…

ChatGPT辅助编程实践——常用提示词整理

开一个新的系列&#xff0c;ChatGPT辅助编程&#xff0c;以下给出一些常用的提示&#xff0c;欢迎大家在评论区补充更多的用法。 祝大家都能用好ChatGPT这把趁手的兵器&#xff0c;大大提高效率~ &#xff08;后续将补充借助Github Copilot和cursor等系列AI工具辅助编程的思路…

CentOS从gcc 4.8.5 升级到gcc 8.3.1

gcc -v查看当前gcc版本。 sudo yum install centos-release-scl-rh安装centos-release-scl-rh。 sudo yum install devtoolset-8-build安装devtoolset-8-build。 显示“Complete!”表示安装成功。 sudo yum install devtoolset-8-gdb安装devtoolset-8-gdb。 显示“Comple…

初识Kafka

介绍 Kafka Kafka 是一款基于发布与订阅的消息系统。 用生产者客户端 API 向 Kafka 生产消息&#xff0c;用消费者客户端 API 从 Kafka 读取这些消息。 Kafka 使用 Zookeeper 保存元数据信息。 Kafka 0.9 版本之前&#xff0c;除了 broker 之外&#xff0c; 消费者也会使用…

八. MySQL 成本计算与执行优化器优化步骤

目录一. MySQL 的成本计算二. 执行优化相关配置开启"优化追踪命令"MySQL 执行优化器的优化步骤1. condition_processing 处理搜索条件优化阶段2. rows_estimation 分析业务SQL优化阶段一. MySQL 的成本计算 mysql在查询数据时考虑比较重要的两个成本: io成本与cup成…

下一代的新操作系统就是ChatGPT!

什么是CHatgpt&#xff1f; ChatGPT是人工智能研究实验室OpenAI在2022年11月30日推出的聊天机器人模型&#xff0c;它使用Transformer神经网络架构&#xff0c;训练数据来自包括维基百科&#xff0c;以及真实对话在内的庞大语料库。2023年1月30日消息称&#xff0c;中国搜索巨…

最值得入手的五款骨传导耳机,几款高畅销的骨传导耳机

骨传导耳机是一种声音传导方式&#xff0c;主要通过颅骨、骨骼把声波传递到内耳&#xff0c;属于非入耳式的佩戴方式。相比传统入耳式耳机&#xff0c;骨传导耳机不会堵塞耳道&#xff0c;使用时可以开放双耳&#xff0c;不影响与他人的正常交流。骨传导耳机不会对耳朵产生任何…

我的第一台手提 | 关于你的第一台手提征文活动

我的第一台手提 | 关于你的第一台手提征文活动前言一、手提配置二、手提使用评价三、未来工作的设备前言 说起我的第一台电脑&#x1f5a5;️&#xff0c;还是挺有感触的。我记得它是一台组装的台式电脑&#xff0c;时间大概是2002年&#xff0c;那是电脑对于普通家庭来说其实…

电电电电电电电电要来了!

近年来&#xff0c;随着电力行业的不断发展&#xff0c;电网规模逐渐扩大&#xff0c;电力需求量日益增长。同时&#xff0c;随着人工智能、物联网、5G等技术的快速发展&#xff0c;边缘计算技术逐渐成为电力行业解决方案的重要组成部分。电力行业边缘计算应运而生&#xff0c;…

Ajax 入门

前端技术&#xff1a;在浏览器中执行的程序都是前端技术。如 html、css、js 等 后端技术&#xff1a;在服务器中执行的长须&#xff0c;使用 Java 等语言开发的后端程序。servlet&#xff0c;jsp&#xff0c;jdbc&#xff0c;mysql&#xff0c;tomacat 等 全局刷新 使用表单…

分享:从ChatGPT给到的数据库故障案例,看开发协同未来趋势

欢迎访问 OceanBase 官网获取更多信息&#xff1a;https://www.oceanbase.com/ 本文来自OceanBase社区分享&#xff0c;仅限交流探讨。原作者陈小伟。 我是陈小伟&#xff0c; 2019 年加入 OceanBase&#xff0c;目前负责 OceanBase 开发者中心的研发。 OceanBase ODC 这几年从…

200.Spark(七):SparkSQL项目实战

一、启动环境 需要启动mysql,hadoop,hive,spark。并且能让spark连接上hive(上一章有讲) #启动mysql,并登录,密码123456 sudo systemctl start mysqld mysql -uroot -p#启动hive cd /opt/module/ myhadoop.sh start#查看启动情况 jpsall#启动hive cd /opt/module/hive/…

为了开放互联,明道云做了十件事

本文来自明道云资深研发经理孙伟&#xff0c;在明道云2022年秋季伙伴大会活动演讲&#xff0c;经校对编辑后整理为演讲精华。 一、开放没有选择 很多客户选择我们的一个重要原因&#xff0c;是明道云所能提供的产品开放能力。开放其实是没有选择的&#xff0c;坦白来讲&#…

SM3哈希算法的FPGA实现 I

SM3哈希算法的FPGA实现 I SM3哈希算法的FPGA实现 I一、什么是SM3哈希算法&#xff1f;二、SM3哈希算法的具体内容1、填充2、迭代与压缩3、计算拼凑值三、参考文档语言 &#xff1a;verilog 仿真工具&#xff1a; Modelsim EDA工具&#xff1a;quartus II 一、什么是SM3哈希算法…

【Unity 手写PBR】Build-in管线:实现间接光部分

写在前面 直接光昨天已经实现了&#xff1a;【Unity Shader】Build-in管线实现PBR&#xff1a;直接光部分&#xff0c;今天趁热打铁&#xff0c;补完剩下的间接光计算。 1 补一个法线纹理 突然法线直接光部分忽略了法线纹理应用的部分&#xff0c;这当然也是不可或缺的部分&a…
最新文章