问题 D: 磊哥的密码箱

时间限制: 1 Sec  内存限制: 128 MB
提交: 238  解决: 61
[提交] [状态] [命题人:admin]

题目描述

磊哥有个密码箱,里面装的都是令磊哥羞羞的东西。
箱子的密码是[1,n]里面的约数最多的数的约数数目。
磊哥的女朋友想知道磊哥到底装的是什么东西?她需要你的帮助。

输入

输入一个整数T,表示有T个测试数据
下面T行,每行输入一个正整数n。

输出

对每个n,输出对应一行一个正整数表示[1,n]里最多约数的数的约数个数。

样例输入

复制样例数据

2
13
9

样例输出

6
4

提示

100%的数据满足:1 ≤ n ≤ 1,000,000,000,000,000,000.

解决这道题,涉及一点点数论的知识,点击查看。看完在看这道题(大佬随意QAQ)

具体的思路呢其实就是贪心。

根据唯一分解定理和约数个数定理,我们知道对于每一个数,写成标准分解式(n = p1^a1*p2^a2...pk^ak),约数的个数为(a1+1)*(a2+1)...*(ak+1),为了使的约数的个数尽量多,p应该尽量选小的。

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,ans;
int p[]={,,,,,,,,,,,,,,,,,,};
ll qpow(ll a,ll b) //快速幂
{
ll ret=;
while(b)
{
if (b&) ret=ret*a;
a=a*a;
b>>=;
}
return ret;
}
void dfs(ll poi,ll num,ll val,ll len) //枚举第几个质数poi,现在有几个约数,现在的值,ai的最大值
{
if (val>n) return;
if (val<=n) ans=max(ans,num);
for (int i=; i<=len; i++) //相当于枚举这位质数对应的a
{
ll t=qpow(p[poi],i);
if (t>n/val) return;
dfs(poi+,num*(i+),val*t,i);
}
return;
} int main()
{
int T;
cin>>T;
while(T--)
{
ans=;
scanf("%lld",&n);
dfs(,,,);
printf("%lld\n",ans);
}
return ;
}

磊哥的密码箱icpc11526的更多相关文章

  1. 磊哥评测之数据库:腾讯云MongoDB vs自建

    本文由云+社区发表 作者:磊哥 上期文章我们聊到了redis.这期我们来说说另一个网红nosql数据库:MongoDB.有这么一个介绍MongoDB的说法是:MongoDB是非关系数据库当中功能最丰富 ...

  2. 恭喜磊哥喜提n+1

    昨天下午两点多磊哥突然喊我下楼,第一反应是"这孙子,抽烟就直说,还说个事,你以外你是吉祥村大姐啊". 心里骂完以后我慢慢悠悠下楼了,见他在打电话我先默默点上一支,准备待他结束以后对 ...

  3. css3导航-磊哥

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    < ...

  4. 磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序

    本文由云+社区发表 作者:腾讯云数据库 随着云计算和数据库技术的发展,数据库正在变得越来越强大.数据库的性能如处理速度.对高并发的支持在节节攀升,同时分布式.实时的数据分析.兼容主流数据库等强大的性能 ...

  5. arc路径例子-磊哥

       <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    & ...

  6. arc路径-磊哥

    不然直接设置80 90要转换成弧度比如Math.PI代表180度你就要 80*Math.PI/180190*Math.PI/180<!DOCTYPE html><html>&l ...

  7. nginx中SSI问题的研究

    最近感觉挺爽的,这个项目团队没有一个专门做PHP的,我是第一个进来做PHP(当然还有前端)的,哈哈,我会设计修改出适合我们业务的PHP框架,哈哈,感觉会学到很多东西的样子,前几天在组内20几个前辈面前 ...

  8. 通过PowerShell查询本机IP地址

    脚本内容如下: Write-Host "本机IP地址为:"(ipconfig|findstr "IPv4")[1].split(":")[1 ...

  9. 把nc v6的源码看懂

    看懂nc v6的源码! 碧桂园全部的正式环境的补丁都在我手里. 2015-11-18 2:33 谢谢两位一起努力的兄弟 谢谢超哥,谢谢祈冰哥,谢谢连老师,陈明大哥,谢谢龙哥,珍玉,谢谢廖生哥,谢谢林春 ...

随机推荐

  1. 深入理解java不可变对象(转)

    深入理解Java中的不可变对象 不可变对象想必大部分朋友都不陌生,大家在平时写代码的过程中100%会使用到不可变对象,比如最常见的String对象.包装器对象等,那么到底为何Java语言要这么设计,真 ...

  2. Acwing-274-移动服务(DP)

    链接: https://www.acwing.com/problem/content/276/ 题意: 一个公司有三个移动服务员,最初分别在位置1,2,3处. 如果某个位置(用一个整数表示)有一个请求 ...

  3. js 循环post

    var url_s=["h/a","h/b","h/c"]; function post_test(url,callback) { //请求 ...

  4. 如何下载Direct3D9Ex

    其实就是DirectX june_10月版本,下载链接如下 DirectX Software Development Kit 错误:安装报错“S1023" 若要解决此问题,必须在安装2010 ...

  5. jquery target属性 语法

    jquery target属性 语法 作用:target 属性规定哪个 DOM 元素触发了该事件.大理石平台精度等级 语法:event.targe 参数: 参数 描述 event     必需.规定需 ...

  6. eclipse切换 package explorer

  7. 【POJ1011】Sticks

    [题目概括] 现在有\(n\)个长度不超过\(50\)的木棍,请你把这些小木棍拼成若干根长度相同的木棍. 请你最小化拼成后的长度. [思路要点] 考虑枚举最后的长度,然后判断是否可以,这样就不需要最优 ...

  8. Java虚拟机之垃圾回收算法思想总结

    1.引用计数法 这是个比较古老而经典的垃圾回收算法,其核心就是在对象被其他所引用的时候计数器加1,而当引用失去时减1.这个方法有非常严重的问题:无法此话有理循环引用的情况,还有就是每次进行加减操作比较 ...

  9. Compress Words

    E. Compress Words 直接套 KMP 即可(那为什么打 cf 的时候没有想到...),求出后一个单词(word)的前缀数组,然后从前面已得的字符串的末尾 - word. length ( ...

  10. hive 分组排序函数 row_number() over(partition by " " order by " "desc

    语法:row_number() over (partition by 字段a order by 计算项b desc ) rank --这里rank是别名 partition by:类似hive的建表, ...