反素数(luogu 1463)
题目描述
对于任何正整数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的最大的反质数。
输入输出样例
1000
840
思路:
找到反质数的规律,满足以下三个引理即可
引理 1 :1 - N 中最大的反素数,就是1 - N中约数最多中最小的一个 .
引理 2 :1 - N 中任何数的不同质因子都不会超过 10 个,且所有质因子总和不超过 30 .
( reason: 231>2*109 )
引理 3 : x 的质因子是连续的若干个最小的质数,并且指数单调递减
都是很显然的结论(如果读懂了题意)
code
#include<stdio.h> #include<algorithm> #define ll long long using namespace std; int pri[15]={0,2,3,5,7,11,13,17,19,23,29}; int mxn; ll n,s,ans;void dfs(ll m,int x,int k,int d) {if((k>mxn) || (k==mxn && m<ans)) {ans=m,mxn=k;}int j=0,nk;ll i=m;while(j<d) {++j;if(n/i<pri[x]) break;nk=k*(j+1);i=i*pri[x];if(i<=n) dfs(i,x+1,nk,j);}}int main() {scanf("%lld",&n);dfs(1,1,1,11);printf("%lld",ans);return 0; }
转载于:https://www.cnblogs.com/qseer/p/9780173.html
反素数(luogu 1463)相关推荐
- 反素数 Antiprime(信息学奥赛一本通 1625)(洛谷 1463)
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...
- BZOJ 3085: 反质数加强版SAPGAP (反素数搜索)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3085 题意:求n(<=10^100)之内最大的反素数. 思路: 优化2: i ...
- HDU2521 反素数【因子数量+打表】
反素数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU 4228 Flooring Tiles 反素数的应用
给你一个数N,找出一个最小的可以拆分成N种乘积表达形式的数x 比如N=2,6可以拆成2x3或者1x6两种,但不是最小的,最小的是4可以拆成1x4,2x2两种 首先可以肯定的是x必然有N*2或者是N*2 ...
- BZOJ(8) 1053: [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4118 Solved: 2453 [Submit][ ...
- Java黑皮书课后题第6章:**6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数。编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开
6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数.编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开 题目 题目描述 破题 代码 题目 题目描述 ...
- BZOJ 1053 [HAOI2007]反素数ant
53: [HAOI2007]反素数ant Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0< ...
- Number With The Given Amount Of Divisors(反素数)
Given the number n, find the smallest positive integer which has exactly n divisors. It is guarantee ...
- 【牛客 - 331G】炫酷数字(反素数打表 或 扩展埃式筛法,结论)
题干: 小希希望你构造一个最小的正整数,使得其有n个因子. 输入描述: 第一行一个整数T表示数据组数每组数据第一行输入一个正整数n,表示其因子数.n≤1,000,000n≤1,000,000T≤1,0 ...
最新文章
- python读取文件r_python read文件的r和rb的区别
- Blender 3.0机器人硬面建模材质渲染全流程学习课程
- Google Test(GTest)使用方法和源码解析——断言的使用方法和解析
- CSS3关于过渡效果的问题
- 麻省理工学院研究人员设计出针对幽灵党和熔毁的DAWG方法
- 中国物联网产业RFID发展机遇分析
- 关于@Alias注解的几个问题
- ssas 分区 设置_如何在Analysis Services多维中对SSAS多维数据集进行分区
- 女子监狱第一季/全集Orange Is the New Black迅雷下载
- Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 Maven中不能引入ojdbc解决方法,错误
- js排序的时间复杂度_javascript的array.indexOf的时间复杂度是多少?
- gis等时圈怎么做_ArcGIS中输入风格一致的带圈数字
- 算法练习-珠心算测验
- Java软件工程师面试常见问题集锦之一
- 私有网段IP地址的划分
- 从父组件中获取子组件的值
- 应该买什么手机?----我的购机思路
- Mac 安卓投屏Scrcpy使用
- git cherry-pick 多分支的代码库,将代码从一个分支转移到另一个分支
- 邮件黑名单系列文章十 : IP被UCEProtect列入黑名单