题干:

小希希望你构造一个最小的正整数,使得其有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】炫酷数字(反素数打表 或 扩展埃式筛法,结论)相关推荐

  1. 牛客寒假算法基础集训营5 炫酷数字 (暴力)

    炫酷数字 链接:https://ac.nowcoder.com/acm/contest/331/G 题目描述 小希希望你构造一个最小的正整数,使得其有n个因子. 输入描述: 第一行一个整数T表示数据组 ...

  2. 牛客题霸 [ 缺失数字] C++题解/答案

    牛客题霸 [ 缺失数字] C++题解/答案 题目描述 从0,1,2,-,n这n+1个数中选择n个数,找出这n个数中缺失的那个数,要求O(n)尽可能小. 题解: 我们可以用map来标记已出现过的数字 因 ...

  3. 牛客网数据库SQL实战45—— 将titles_test表名修改为titles_2017

    牛客网数据库SQL实战45-- 将titles_test表名修改为titles_2017 题目描述 将titles_test表名修改为titles_2017. CREATE TABLE IF NOT ...

  4. 牛客网数据库SQL实战14—— 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。

    牛客网数据库SQL实战14-- 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略. 题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出titl ...

  5. 素数筛法(传统普通、朴素筛法、埃式筛法、欧拉筛法(线性筛))

    素数筛法(普通.朴素筛法.埃式筛法.欧拉筛法) 1.题目 2.分析 3.代码 传统普通 朴素筛法 朴素筛法(6.14) 埃式筛法 埃式筛法(6.14) 欧拉筛法(线性筛) 欧拉筛法(线性筛 6.14) ...

  6. c语言列出1~100所有素数_一次找出范围内的所有素数,埃式筛法是什么神仙算法?...

    今天这篇是算法与数据结构专题的第23篇文章,我们继续数论相关的算法,来看看大名鼎鼎的埃式筛法. 我们都知道在数学领域,素数非常重要,有海量的公式和研究关于素数,比如那个非常著名至今没有人解出来的哥德巴 ...

  7. 一次找出范围内的所有素数,埃式筛法是什么神仙算法?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是算法与数据结构专题的第23篇文章,我们继续数论相关的算法,来看看大名鼎鼎的埃式筛法. 我们都知道在数学领域,素数非常重要,有海量的 ...

  8. 牛客14342 神奇的数字

    链接:https://ac.nowcoder.com/acm/problem/14342 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  9. 初试牛客网PAT练习之数素数

    正式开始练习PAT,初步选择的练习平台是牛客网(http://www.nowcoder.com/),原因是虽然自己理论学习还不错,但缺乏上手经验,想先在练习平台上实验一段时间后,在正式进驻PAT官网. ...

最新文章

  1. MLIR多级中间表示概述
  2. 机器学习常用算法特点概述
  3. python需要php吗-python可以代替php吗
  4. Hadoop文件系统常用命令
  5. c语言定义小数无穷小,OC中常用的数学函数以及浮点处理函数
  6. 2019腾讯科学WE大会:在小宇宙里看见大宇宙的轮廓
  7. 全栈测试:平衡单元测试和端到端测试
  8. ajax请求 apend,jsp如何获取ajax append的数据?
  9. python celery应用场景_Celery使用背景与功能概要
  10. java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
  11. 将Tomcat集成到IDEA
  12. 深入理解Linux-hostname
  13. web.config从.net framework3.5向4.0迁移注意事项
  14. .NET 框架中的字符串
  15. jdbc连接数据库mysql视频_jdbc连接数据库mysql视频
  16. JVM监控及诊断工具GUI篇之Visual VM
  17. 如何使用USBASP烧写器和Atmel Studio 7.0对AVR微控制器进行编程
  18. java 写代码求导_OO_JAVA_表达式求导
  19. 如何开启计算机cpu虚拟化,如何开启cpu虚拟化_VMware Workstation 中如何开启CPU 的虚拟化支持?...
  20. 串口调试助手linux设备串口,linux下安装串口调试助手

热门文章

  1. WinAPI: SetTextColor - 设置设备环境的文本颜色
  2. 计算机论文搜索技巧【一】
  3. win102004优化_win10 2004系统电脑出现玩命运2掉帧的问题
  4. res.status === 200含义
  5. sql查询php,SQL查询或PHP?
  6. 弹出并点击弹框关闭 自定义toast_关于别名配置使用弹框交互应用的思考
  7. php 管理 mysql 数据库 代码_PHP5对Mysql5的任意数据库表的管理代码示例(三)
  8. html全局浮窗,Html 实现浮动窗口
  9. tp3 普通模式url模式_[tp3.2.1]开启URL(重写模式),省略URL中的index.php
  10. 蓝桥杯c语言a组2015,2015第七届蓝桥杯决赛C语言A组--穿越雷区(DFS)