题面

引理1:  1~n中的最大反质数,就是1~n中约数个数最多的数中最小的一个(因为要严格保证g(x)>g(i));

引理2:1~n中任何数的不同因子不会超过10个,因为他们的乘积大于2,000,000,000;

引理3:  1~n中任何数的质因子的指数总和不超过30;

引理4:  x的质因子是连续的若干个最小的质数,并且指数单调递减;

对于指数的排列我们只要深搜就可以找到方案,对于不同情况判断是否更新答案;

#include <bits/stdc++.h>
using namespace std;
long long n;
long long ans=;
int a[]={,,,,,,,,,,,};
inline long long KSM(long long a,long long b)
{
long long res=;
while(b){
if(b&) res=res*a;
a=a*a;
b/=;
}
return res;
}
long long cnt=-;
inline void dfs(int dep,int now,long long sum,long long num)
{
if(sum>n||sum<){
return;
}
if(num>cnt){
ans=sum;
cnt=num;
}
else if(num==cnt){
if(sum<ans) ans=sum;
}
if(dep>){
return;
}
for(register int i=now;i>=;i--){
dfs(dep+,i,sum*KSM(a[dep],i),num*(i+));
}
}
int main()
{
cin>>n;
dfs(,,,);
cout<<ans;
}

最新文章

  1. struts2基础学习--环境配置(*原创)
  2. Linux系统的理解及学习Linux内核的心得
  3. Java实现MySQL数据库导入
  4. SQL Server 显示执行一条语句的执行时间
  5. WebViewJavascriptBridge-Obj-C和JavaScript互通消息的桥梁
  6. java 泛型通配符 extends, super
  7. jQuery实现图片轮播
  8. Android(java)学习笔记178:BroadcastReceiver之 自定义广播
  9. Javascript的AMD规范
  10. Shell中IFS用法
  11. 弹出框layer的使用封装
  12. MultipartEntityBuilder.addTextBody 中文乱码
  13. 基于Visual C++2013拆解世界五百强面试题--题17-程序结果分析1
  14. C# 操作Excel (二)
  15. H5+Ajax+WebApi实现文件下载(进度条,多文件)
  16. JavaScript算法实现排序
  17. 将 Hexo 个人博客同时部署到 GitHub 和 Coding 上
  18. C++语言之静态变量的运用
  19. Spring Cloud微服务集成配置中心
  20. Kotlin入门学习笔记

热门文章

  1. 闰年计算——JavaScript 语言计算
  2. D. Marcin and Training Camp
  3. oracle ROW_NUMBER() OVER(PARTITION BY &#39;分组&#39; ORDER BY &#39;排序&#39; DESC) 用法
  4. OkHttp3 使用详解
  5. 微信小程序-获取当前位置
  6. for循环遍历对比
  7. typescript 第二部分
  8. leetcode-easy-others-191. Number of 1 Bits-NO
  9. Learn The Architecture Memory Management 译文
  10. 左值引用&amp;右值引用实践【TODO】