题目描述

对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。

如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。

现在给定一个数N,你能求出不超过N的最大的反质数么?

输入输出格式

输入格式:

一个数N(1<=N<=2,000,000,000)。

输出格式:

不超过N的最大的反质数。

输入输出样例

输入样例#1:

1000
输出样例#1:

840
思路:数论+搜索。可以发现题目要求的是小于n的约数最大的数(如果有相同的就取最小的),然后就是个很简单的打表+搜索。
错因:素数表打错了,崩溃~~~~(>_<)~~~~
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int dx[]={,,,,,,,,,,,,};
long long s[];
long long n,ans,maxn;
void dfs(long long x,int y,int z){ //有y个约数。
if(z==) return; //已经有了z个质数。
if(y>maxn||y==maxn&&x<ans)
maxn=y,ans=x;
s[z]=;
while(x*dx[z]<=n&&s[z]<s[z-]){
s[z]++;
x*=dx[z];
dfs(x,y*(s[z]+),z+);
}
}
int main(){
scanf("%lld",&n);
s[]=;
dfs(,,);
printf("%lld",ans);
}
 

洛谷 P1463 [SDOI2005]反素数ant的更多相关文章

  1. 洛谷 P1463 [SDOI2005]反素数ant && codevs2912反素数

    题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...

  2. 洛谷 1463[SDOI2005] 反素数ant

    题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...

  3. [luogu]P1463 [SDOI2005]反素数ant[dfs][数学][数论]

    [luogu]P1463 [SDOI2005]反素数ant ——!x^n+y^n=z^n 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足: ...

  4. 【洛谷P1463】反素数

    题目大意:给定 \(N < 2e9\),求不超过 N 的最大反素数. 题解: 引理1:不超过 2e9 的数的质因子分解中,最多有 10 个不同的质因子,且各个质因子的指数和不超过30. 引理2: ...

  5. P1463 [SDOI2005]反素数ant

    题意: 题解: 思维难度不高,考虑到n较大,而反质数个数较少 所以只要算出每个反质数即可 考虑如何计算,可以发现,我们只需枚举计算出约数有x个的最小数,再做一下判断即可 另外约数的个数=(a1+1)( ...

  6. 洛谷 P1463 [HAOI2007]反素数

    https://www.luogu.org/problemnew/show/P1463 注意到答案就是要求1-n中约数最多的那个数(约数个数相同的取较小的) 根据约数个数的公式,在约数个数相同的情况下 ...

  7. Luogu P1463 [HAOI2007]反素数ant:数学 + dfs【反素数】

    题目链接:https://www.luogu.org/problemnew/show/P1463 题意: 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x ...

  8. [BZOJ1053][SDOI2005]反素数ant 数学

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1053 假设这个最大的反素数为$x$,那么$1<p<x$中数的因子数都没有$x$ ...

  9. [SDOI2005]反素数ant

    题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...

随机推荐

  1. C# winform KeyPress 事件中对应的数字

    C#  winform KeyPress 事件中对应的数字所有e.KeyChar值的意思 常用ASCII码表 你自己看看应该就明白了 键盘 ASCII码 键盘 ASCII码 ESC 27 7 55 S ...

  2. DNS隐蔽通道 是可以通过dig 子域名来追踪其真实IP的

    比如a.friendskaka.com 是我的外发子域名,那么可以按照下面两个命令来追踪IP: bonelee@bonelee-VirtualBox:~/桌面$ dig auth.a.friendsk ...

  3. 76.培训记录信息 Extjs 页面

    1.培训记录信息页面jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

  4. 73. 解决ExtJS TreePanel 的 iconCls设置问题

    转自:https://blog.csdn.net/hanchuang213/article/details/62881568 很久没有写代码了,最近在做一个在线帮助网站,于是又捡起了 ExtJS,我用 ...

  5. 84. ExtJS下页面显示中文乱码问题

    转自:https://blog.csdn.net/wenminhao/article/details/51198981 最近在学校extjs是,使用js脚本显示中文在html页面中时,中午出现了乱码的 ...

  6. 解决emlog默认导航不能修改的问题以及修改后台登录地址的方法

    修改默认导航 我们需要使用修改代码的方式来解决 首先找到admin/navbar.php文件 然后找到需要删除的几行代码: if ($type != Navi_Model::navitype_cust ...

  7. Excel 出现后三位为000的情况

    1.先将要填充的excel列全部转换成文本,然后再把列贴近来. 2.数据少的话,选择那个excel,在前面加上'号

  8. 【Oracle】truncate分区表

    分区表是生产中常用的一种表,它可以实现数据的按类存放,极大的提高了数据的查询及维护.当我们不需要某一分区的数据时,可以采用truncate来清空分区.实验如下: SQL)) partition by ...

  9. XML知识总结

    1.XML概念及作用? XML( eXtensible Markup Language,可扩展标记语言)是一种简单的数据存储语言 作用:用来存储和交换数据 无法描述页面的排版和显示形式 2.XML和X ...

  10. Equals相關的一些要點

    什麽時候需要覆蓋Equals? 自定義的值類型需要覆蓋,因爲框架默認的實現是基於反射的,效率不高. 自定義的引用類型要根據業務需要來決定是否提供覆蓋.    什麽時候需要覆蓋operator==()? ...