zoj2562 反素数
/*
这题1 <= n <= 1016,暴力肯定是TLM,所以看了大牛求解小于N的反素数的算法,思路大致是这样的:
性质1:一个反素数的质因子一定是从2开始的若干个连续质数.
因此可以枚举素因子,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47。。最多也就这么几个。
性质2:若有p=2^a1*3^a2*5^a3*......,则必有a1>=a2>=a3>=............an.
另外,如何求p的正约数个数呢,答案就是(a1+1)*(a2+1)*(a3+1)*..........(an=1)
如:p=6=2^1*3^1,故6的约束个数为(1+1)*(1+1)=4 ......等等
然后就是按照素因子递增的顺序逐个搜索,然后枚举每个质因子的个数
*/
#include<stdio.h>
typedef long long LL;
LL N;
LL BestSum;
LL BestRes;
LL prime[]={,,,,,,,,,,,,,,}; void work(LL res,LL sum,LL k,LL limit)
{
if(res>N)
return;
if(BestSum<sum)
{
BestSum=sum;BestRes=res;
}
else if(BestSum==sum&&BestRes>res)
BestRes=res;
if(k>=)
return;
LL p=prime[k];
int i;
for(i=;i<limit;i++,p*=prime[k])
{
if(res*p>N)
break;
work(res*p,sum*(i+),k+,i+);
}
} int main()
{
while(~scanf("%lld",&N))
{
BestSum=;
BestRes=;
work(,,,);
printf("%lld\n",BestRes);
}
}
zoj2562 反素数的更多相关文章
- ZOJ- 2562 反素数使用
借用了下东北师大ACM的反素数模版. 本来我是在刷线段树的,有一题碰到了反素数,所以学了一下..有反素数的存在,使得一个x ,使得x的约数个数,在1 到 x的所有数里面,是最大的. 这里面还涉及安叔那 ...
- 【zoj2562】反素数
题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最小的一个.(1 <= n <= 10^16) 题目:http://acm.hust.edu. ...
- hdu4542 && ZOJ2562(反素数)
反素数: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数. 有两个特点: 1.一个反素数的质因子必是从2开始的质数 2.如果,那么必有 最常见的问题如 ...
- ZOJ-2562 More Divisors 反素数
题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个. 分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4 ...
- zoj2562:搜索+数论(反素数)
题目大意:求n以内因子数量最多的数 n的范围为1e16 其实相当于求n以内最大的反素数... 由素数中的 算数基本原理 设d(a)为a的正因子的个数,则 d(n)=(a1+1)(a2+1)..... ...
- poj 2886 线段树的更新+反素数
Who Gets the Most Candies? Time Limit: 5000 MS Memory Limit: 0 KB 64-bit integer IO format: %I64d , ...
- 【POJ2886】Who Gets the Most Candies?-线段树+反素数
Time Limit: 5000MS Memory Limit: 131072K Case Time Limit: 2000MS Description N children are sitting ...
- Prime & 反素数plus
题意: 求因数个数为n的最小正整数k. n<=10^9输出其唯一分解形式 SOL: 模拟题,一眼看过去有点惊讶...这不是我刚看过的反素数吗... 咦数据怎么这么大,恩搞个高精吧... 于是T了 ...
- BZOJ 1053 & 反素数
题意: 反素数,膜一篇GOD's Blog...http://blog.csdn.net/ACdreamers/article/details/25049767 此文一出,无与争锋... CODE: ...
随机推荐
- YXcms前台注入(有限制但可以绕过)
这个cms很久前做过代码审计,很多问题,但是经过这么长时间,现在安全性提高了不少,这几天看了下,基本没有什么特别大的问题了(不包含后台). 在yxcms/protected/apps/member/c ...
- MySQL中\g和\G的作用
\g的作用和MySQL中的分号”;"是一样: \G的作用是讲查找到的内容结构旋转90度,变成纵向结构: 下面举例说明,查找数据库中的存在的存储过程状态: SHOW PROCEDURE STA ...
- P++ 1.0.5
#include<bits/stdc++.h> #define begin { #define end } #define while while( #define if if( #def ...
- 区间dp——好题cf1132F
真的是很好的题 要通过左端点 l 和中间点k进行比较(去找和l同色的k即可) 然后n3来转移 #include<bits/stdc++.h> using namespace std; #d ...
- Angular CLI ng常用指令整理
一.组件创建 ng generate component heroes 二.运行项目 ng serve --open //--open 立即打开 三.创建指令 ng g directive my-ne ...
- LUOGU P1654 OSU! (概率期望)
传送门 解题思路 首先考虑对于一个点来说,如果这个点是1的话,那么对于答案来说 $(ans+1)^3=ans^3+3*ans^2+3*ans+1$,这对于上一个答案来说其实贡献了 $3*ans^2+3 ...
- 洛谷 2915 [USACO08NOV]奶牛混合起来Mixed Up Cows
一道水状压,然而不知道是不是太久没做过dp了,我盯着它二十分钟才反应过来.... 还把数组开小了WA了一发QAQ //Twenty #include<algorithm> #include ...
- CSS3中2D/3D转换、过渡、动画
转换.过渡.动画 2D 转换 1.translate() 方法 通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数: 实例 d ...
- memcached 技术支持
1. Install sudo apt-get install memcached 2.启动和停止 启动: service memcached start 停止: service memcached ...
- Java-Druid:目录
ylbtech-Java-Druid:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://yl ...