题目大意:求n以内因子数量最多的数  n的范围为1e16

其实相当于求n以内最大的反素数。。。

由素数中的 算数基本原理

设d(a)为a的正因子的个数,则

d(n)=(a1+1)(a2+1).....*(an+1);

又由反素数的性质2:

p=2^t1*3^t2*5^t3*7^t4.....必然t1>=t2>=t3>=....

我们可以指定搜索策略和剪枝

详见代码和注释

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
long long n;
long long a[]={,,,,,,,,,,,,,,};//这些素数全部乘积已经超过了1e16,所以不用再往下面乘了
long long ans,ans0;
void dfs(long long num,long long sum,long long limit,long long po)//limit 存储上一个素数的指数 相当于反素数性质中的t(i-1),由性质可知ti<=t(i-1)
{
if(num>n)
return;
if(sum==ans0)
{
ans=min(ans,num);
}
if(sum>ans0)
{
ans0=sum;
ans=num;
}
long long p=;
for(int i=;i<=limit;i++)
{
p*=a[po];
if(p*num>n)
break;
dfs(num*p,sum*(i+),i,po+);
}
return;
}
int main()
{
while(scanf("%lld",&n)!=EOF)
{
ans0=;
ans=;
if(n==)
{
puts("");
continue;
}
dfs(,,,);
cout<<ans<<endl;
}
return ;
}

zoj2562:搜索+数论(反素数)的更多相关文章

  1. ZOJ-2562 More Divisors 反素数

    题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个. 分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4 ...

  2. HDU 4542 小明系列故事——未知剩余系 (数论|反素数)

    分析 kuangbin的blog已经讲的很好了,我做一点补充 1.当做x*y>z的比较时,如果x \(\ast\) y过大,可以写成x>z/y 2.分解质因数时选择用f[][0]保存质数, ...

  3. 【BZOJ1053】[HAOI2007]反素数 (搜索+数论)

    \([POI2002][HAOI2007]\)反素数 题目描述 对于任何正整数x,其约数的个数记作\(g(x)\).例如\(g(1)=1.g(6)=4\). 如果某个正整数x满足:\(g(x)> ...

  4. hdu4542 && ZOJ2562(反素数)

    反素数: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数. 有两个特点: 1.一个反素数的质因子必是从2开始的质数 2.如果,那么必有 最常见的问题如 ...

  5. 【zoj2562】反素数

    题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最小的一个.(1 <= n <= 10^16) 题目:http://acm.hust.edu. ...

  6. bzoj 1053: [HAOI2007]反素数ant 搜索

    1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1497  Solved: 821[Submit][Sta ...

  7. 【BZOJ1053】[HAOI2007]反素数(搜索)

    [BZOJ1053][HAOI2007]反素数(搜索) 题面 BZOJ 洛谷 题解 大力猜一下用不了几个质因子,那么随便爆搜一下就好了. #include<iostream> #inclu ...

  8. zoj2562 反素数

    /* 这题1 <= n <= 1016,暴力肯定是TLM,所以看了大牛求解小于N的反素数的算法,思路大致是这样的: 性质1:一个反素数的质因子一定是从2开始的若干个连续质数. 因此可以枚举 ...

  9. BZOJ 3085: 反质数加强版SAPGAP (反素数搜索)

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3085 题意:求n(<=10^100)之内最大的反素数. 思路: 优化2: i ...

随机推荐

  1. html——基础样式篇(1)

    格式化标签 <b>字体加粗标签 <i>字体斜体标签 <sub>下标标签 <sup>上标标签 <del>删除标签 //这在商品特价时常使用 a ...

  2. 我为什么要再给lua写一个json模块

    最近要给自己编写的服务器加上json解析模块.根据我当前的项目,可以预测服务器中使用json的地方: 通信.由于与客户端通信使用google protocolbuffer,仅在与SDK通信中使用jso ...

  3. 基于jsp+servlet图书管理系统之后台用户信息删除操作

    上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...

  4. 预处理、const与sizeof相关面试题

    1.用预处理指令#define 声明一个常数,用以表明一年中有多少秒(忽略闰年问题) #define语法知识: (1) 不能以分号结束,括号的使用防止宏定义展开后的二义性. (2) 预处理器将为你计算 ...

  5. 实现Android 动态载入APK(Fragment or Activity实现)

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38565345 近期由于项目太大了.导致编译通只是(Android对一个应用中的方法个数貌似有 ...

  6. openstack单元測试用组件一览

    声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! 组件一览 hacking 一 ...

  7. (转)检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(转)

    我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.N ...

  8. FineUI 点击按钮添加标签页

    <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat=&quo ...

  9. SQL从入门到基础 - 07 抑制重复数据

    一.去掉数据重复 distinct 1. Select FDepartment from T_Employee →select distinct FDepartment from T_Employee ...

  10. iOS基础框架的搭建 / 及国际化操作

    1.基础框架的搭建 1.1 pod引入常用的第三方类库 1.2 创建基础文件夹结构/目录结构 Resource———存放声音/图片/xib/storyboard 等资源文件 Define——宏定义, ...