【牛客 - 331G】炫酷数字(反素数打表 或 扩展埃式筛法,结论)
题干:
小希希望你构造一个最小的正整数,使得其有n个因子。
输入描述:
第一行一个整数T表示数据组数每组数据第一行输入一个正整数n,表示其因子数。n≤1,000,000n≤1,000,000T≤1,000,000T≤1,000,000
输出描述:
输出一行一个整数,表示你构造出的这个数。注意:你需要保证你构造的数≤1,000,000≤1,000,000,如果在这个范围里面无法构造出一个正整数满足条件,请输出-1。
示例1
输入
复制
2
4
5
输出
复制
6
16
解题报告:
这题一眼反素数,,每次都查询会超时,打表后发现240以上都输出-1就行了。标程是筛了一下素数然后维护答案的,也可以。(用时分别是180ms和360ms)
这也告诉我们,1e6以内的数,因子个数最多240个左右,还可以证明,1e9以内的数,因子个数1e5以内,当个小结论、、
AC代码1:(反素数)
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e6 + 5;
ll biao[55] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47};
ll ans[MAX];
ll minn = 1e18+5;
ll n;
void dfs(ll dep,ll tmp,ll cur) {if(cur > n) return ;if(cur==n) minn = min(tmp,minn);for(ll i = 1; i<=63; i++) {if(minn < tmp * biao[dep]) break;tmp = tmp * biao[dep];dfs(dep+1,tmp,cur*(i+1));}
}
int main()
{int t;cin>>t;memset(ans,-1,sizeof ans);for(n = 1; n<=250; n++) {minn = 1e18+5;dfs(0,1,1),ans[n] = minn;}while(t--) {scanf("%lld",&n);minn = 1e18+5;if(n > 241) printf("-1\n");else {if(ans[n]>1000000) printf("-1\n");else printf("%lld\n",ans[n]); } }return 0 ;}
AC代码2:(注意这里的MAX一定是1e6+1,,不能打表打大了,,不然不满足构造的数小于1e6这个条件、、)
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 1e6 + 1;
int cnt[MAX], ans[MAX],n;
int main()
{memset(ans, -1, sizeof(ans));for(int i = 1; i < MAX; i++)for(int j = i; j < MAX; j += i)cnt[j]++;for(int i = 1; i < MAX; i++)if(ans[cnt[i]] == -1) ans[cnt[i]] = i; int t;cin>>t;while(t--) {scanf("%d",&n);printf("%d\n",ans[n]);}return 0;
}
【牛客 - 331G】炫酷数字(反素数打表 或 扩展埃式筛法,结论)相关推荐
- 牛客寒假算法基础集训营5 炫酷数字 (暴力)
炫酷数字 链接:https://ac.nowcoder.com/acm/contest/331/G 题目描述 小希希望你构造一个最小的正整数,使得其有n个因子. 输入描述: 第一行一个整数T表示数据组 ...
- 牛客题霸 [ 缺失数字] C++题解/答案
牛客题霸 [ 缺失数字] C++题解/答案 题目描述 从0,1,2,-,n这n+1个数中选择n个数,找出这n个数中缺失的那个数,要求O(n)尽可能小. 题解: 我们可以用map来标记已出现过的数字 因 ...
- 牛客网数据库SQL实战45—— 将titles_test表名修改为titles_2017
牛客网数据库SQL实战45-- 将titles_test表名修改为titles_2017 题目描述 将titles_test表名修改为titles_2017. CREATE TABLE IF NOT ...
- 牛客网数据库SQL实战14—— 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。
牛客网数据库SQL实战14-- 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略. 题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出titl ...
- 素数筛法(传统普通、朴素筛法、埃式筛法、欧拉筛法(线性筛))
素数筛法(普通.朴素筛法.埃式筛法.欧拉筛法) 1.题目 2.分析 3.代码 传统普通 朴素筛法 朴素筛法(6.14) 埃式筛法 埃式筛法(6.14) 欧拉筛法(线性筛) 欧拉筛法(线性筛 6.14) ...
- c语言列出1~100所有素数_一次找出范围内的所有素数,埃式筛法是什么神仙算法?...
今天这篇是算法与数据结构专题的第23篇文章,我们继续数论相关的算法,来看看大名鼎鼎的埃式筛法. 我们都知道在数学领域,素数非常重要,有海量的公式和研究关于素数,比如那个非常著名至今没有人解出来的哥德巴 ...
- 一次找出范围内的所有素数,埃式筛法是什么神仙算法?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是算法与数据结构专题的第23篇文章,我们继续数论相关的算法,来看看大名鼎鼎的埃式筛法. 我们都知道在数学领域,素数非常重要,有海量的 ...
- 牛客14342 神奇的数字
链接:https://ac.nowcoder.com/acm/problem/14342 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 初试牛客网PAT练习之数素数
正式开始练习PAT,初步选择的练习平台是牛客网(http://www.nowcoder.com/),原因是虽然自己理论学习还不错,但缺乏上手经验,想先在练习平台上实验一段时间后,在正式进驻PAT官网. ...
最新文章
- MLIR多级中间表示概述
- 机器学习常用算法特点概述
- python需要php吗-python可以代替php吗
- Hadoop文件系统常用命令
- c语言定义小数无穷小,OC中常用的数学函数以及浮点处理函数
- 2019腾讯科学WE大会:在小宇宙里看见大宇宙的轮廓
- 全栈测试:平衡单元测试和端到端测试
- ajax请求 apend,jsp如何获取ajax append的数据?
- python celery应用场景_Celery使用背景与功能概要
- java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
- 将Tomcat集成到IDEA
- 深入理解Linux-hostname
- web.config从.net framework3.5向4.0迁移注意事项
- .NET 框架中的字符串
- jdbc连接数据库mysql视频_jdbc连接数据库mysql视频
- JVM监控及诊断工具GUI篇之Visual VM
- 如何使用USBASP烧写器和Atmel Studio 7.0对AVR微控制器进行编程
- java 写代码求导_OO_JAVA_表达式求导
- 如何开启计算机cpu虚拟化,如何开启cpu虚拟化_VMware Workstation 中如何开启CPU 的虚拟化支持?...
- 串口调试助手linux设备串口,linux下安装串口调试助手
热门文章
- WinAPI: SetTextColor - 设置设备环境的文本颜色
- 计算机论文搜索技巧【一】
- win102004优化_win10 2004系统电脑出现玩命运2掉帧的问题
- res.status === 200含义
- sql查询php,SQL查询或PHP?
- 弹出并点击弹框关闭 自定义toast_关于别名配置使用弹框交互应用的思考
- php 管理 mysql 数据库 代码_PHP5对Mysql5的任意数据库表的管理代码示例(三)
- html全局浮窗,Html 实现浮动窗口
- tp3 普通模式url模式_[tp3.2.1]开启URL(重写模式),省略URL中的index.php
- 蓝桥杯c语言a组2015,2015第七届蓝桥杯决赛C语言A组--穿越雷区(DFS)