Just Do It

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1552    Accepted Submission(s):
1036

Problem Description
Now we define a function F(x), which means the factors
of x. In particular, F(1) = 1,since 1 only has 1 factor 1, F(9) = 3, since 9 has
3 factors 1, 3, 9. Now give you an integer k, please find out the minimum number
x that makes F(x) = k.
 
Input
The first line contains an integer t means the number
of test cases.
The follows t lines, each line contains an integer k. (0 <
k <= 100).
 
Output
For each case, output the minimum number x in one line.
If x is larger than 1000, just output -1.
 
Sample Input
4
4
2
5
92
 
Sample Output
6
2
16
-1
翻译:输入k,求因子数为k的数最小是哪个。
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<string>
#include<vector>
#include<iostream>
#include<cstring>
#define inf 0x3f3f3f3f
using namespace std;
#define ll long long
const int maxx=1e6+; int cnt[maxx];///下标是自然数,内容是这个自然数有多少个因子
int ans[maxx];///下标是因子数,内容是含有这么多因子数最小是哪个数 void init()//埃氏筛打表
{
memset(ans,-,sizeof(ans));
memset(cnt,,sizeof(cnt));
for(int i=;i<maxx;i++)
{
for(int j=i;j<maxx;j=j+i)
{
cnt[j]++;
}
if( ans[ cnt[i] ]==- )///i从1开始,越变越大,因子数也会越来越多
ans[ cnt[i] ]=i;///ans的下标 第一次遇见 没有遇见过的因子数目,就把i传进去,此时的i最小
}
} int main()///hdu3189
{
init();
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
if(ans[n]>)
printf("-1\n");
else
printf("%d\n",ans[n]);
}
return ;
}

hdu3189-Just Do It-(埃氏筛+唯一分解定理)的更多相关文章

  1. hdu1215-七夕节-(埃氏筛+唯一分解定理)

    七夕节 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  2. CodeForces - 385C Bear and Prime Numbers (埃氏筛的美妙用法)

    Recently, the bear started studying data structures and faced the following problem. You are given a ...

  3. cf1154G 埃氏筛应用

    直接用埃氏筛也可以做,但是这题写起来有点恶臭.. 更加简单的写法是直接枚举gcd=k,然后里面再枚举一次i*k,即找到k两个最小的倍数,看起来复杂度很高,但其实也是埃氏筛的复杂度 因为每次枚举gcd, ...

  4. 「CF779B」「LOJ#10201.」「一本通 6.2 练习 4」Sherlock and His Girlfriend(埃氏筛

    题目描述 原题来自:Codeforces Round #400 B. Sherlock 有了一个新女友(这太不像他了!).情人节到了,他想送给女友一些珠宝当做礼物. 他买了 nnn 件珠宝.第 iii ...

  5. [JXOI 2018] 游戏 解题报告 (组合数+埃氏筛)

    interlinkage: https://www.luogu.org/problemnew/show/P4562 description: solution: 注意到$l=1$的时候,$t(p)$就 ...

  6. 埃氏筛优化(速度堪比欧拉筛) + 洛谷 P3383 线性筛素数 题解

    我们一般写的埃氏筛消耗的时间都是欧拉筛的三倍,但是欧拉筛并不好想(对于我这种蒟蒻) 虽然 -- 我 -- 也可以背过模板,但是写个不会的欧拉筛不如写个简单易懂的埃氏筛 于是就有了优化 这个优化还是比较 ...

  7. 埃氏筛+线段树——cf731F

    从2e5-1依次枚举每个数作为主显卡,然后分段求比它大的数的个数,这里的复杂度是调和级数ln2e5,即埃氏筛的复杂度.. #include<bits/stdc++.h> using nam ...

  8. 数论(8):min_25 筛(扩展埃氏筛)

    min_25 筛介绍 我们考虑这样一个问题. \[ans=\sum_{i = 1}^nf(i)\\ \] 其中 \(1 \le n \le 10^{10}\) 其中 \(f(i)\) 是一个奇怪的函数 ...

  9. U138097 小鱼吃大鱼 埃氏筛

    题目描述 小P同学在养殖一种非常凶狠的鱼,而且与其他鱼类不同,这种鱼越大越温顺,反而小鱼最凶残.当两条鱼相遇时, 小鱼会不断撕咬大鱼,每一口都咬下与它自身等重的肉(小鱼保持体重不变),直到大鱼的体重小 ...

随机推荐

  1. django,flask接口初试

    -------------django 1.需要安装的环境 pip install django pip install djangorestframework ## restful组件 pip in ...

  2. VMware网络桥接模式与NAT模式共存

      对虚拟机有时我们会有一种需求,即需要虚拟机可以作为单独的主机拥有自己的独立IP,也希望宿主机可以通过NAT模式映射端口到虚拟机. 那么此时怎么办那,其实很简单,虚拟机是支持多网卡设置的,只要在虚拟 ...

  3. Java 文件类 File

    1.File 类 1.File 类 1.1.构造方法 文件的 抽象路径名(操作系统无关) 构造方法 格式 说明 File(String filename) 把文件路径名字符串转换为“抽象路径名”,用来 ...

  4. Linux的用户

    添加用户 添加删除用户 # useradd user # passwd user Changing password for user user. New password: BAD PASSWORD ...

  5. datetime模块的简单用法

    import datetime print(datetime.datetime.today()) #2018-08-14 14:18:28.575412 print(datetime.date.tod ...

  6. [Android]数据篇 --- SharedPreferences

    转载请标注:转载于http://www.cnblogs.com/Liuyt-61/p/6637515.html -------------------------------------------- ...

  7. 关于IK 分词器

    准备: 1 创建索引: PUT my_index PUT my_index2 2 先做好映射: PUT /my_index/*/_mapping { "properties": { ...

  8. hdfs fsimage namenode 应该设置多少堆内存合适

    线上的fsimage 有1.8G左右了,设置了6G heap 不够用了 新生代:老年代=1:2=2G: 4G NameNode的内存主要由NameSpace和BlocksMap占用,其中NameSpa ...

  9. Retrofit简介与使用方法(翻译)

    简介 Retrofit 是一个Square开发的类型安全的REST安卓客户端请求库.这个库为网络认证.API请求以及用OkHttp发送网络请求提供了强大的框架.Retrofit库让从web api下载 ...

  10. out.println与<%!%>的功能一样

    <%! public static final String DBDRIVER = "A"; public static final String DBURL = " ...