反素数ant(数约数的个数)

反素数ant

时间限制: 1 Sec  内存限制: 128 MB

题目描述

对于任何正整数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

一个数约束的个数:设这个数是由x1,x2,x3....乘起来的(xi都是素数),那么一个数的约数个数就是这些素数次数+1乘起来;

如 36 = 2^2*3^2,那么约数个数为(2+1)*(2+1)=9;

 

/**/
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <stack>
#include <queue>

typedef long long LL;
using namespace std;

LL n;
int a[12] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37};//没必要很多个素数,素数越大次数越小
LL maxx, ans;

void dfs(int num, LL sum, int tim, int pre){// pre表示前面的用了素数用了几次,肯定素数小的用的多才好
	if(num == 12){
		if(tim > ans && maxx < sum) maxx = sum, ans = tim;//次数多的并且这个数肯定比约数少的数大
		if(tim >= ans && maxx > sum) maxx = sum, ans = tim;//取次数相同时值最小的
		return ;
	}
	LL t = 1;
	for (int i = 0; i <= pre; i++){
		dfs(num + 1, sum * t, tim * (i + 1), i);
		t *= a[num];
		if(t * sum > n) break;
	}
}

int main()
{
	//freopen("in.txt", "r", stdin);
	//freopen("out.txt", "w", stdout);

	scanf("%lld", &n);
	dfs(0, 1, 1, n >> 1);
	printf("%lld\n", maxx);

	return 0;
}
/**/

 

全部评论

相关推荐

牛马为难牛马中,疑似阿里的员工看某个从拼多多跳槽过来的员工抢他的A+绩效不顺眼,反手向多多举报的,结果导致人家竞业被发现了,违约金5w,赔偿100+w上海长宁区劳动人事争议仲裁委公告显示:上海寻梦信息技术有限公司(拼多多主体)与一名员工的劳动争议案,因被申请人未到庭,仲裁委依法缺席裁决。结果是,该员工需要返还已发放的竞业补偿58,211.29元,并按约支付违约金1,089,103元。公告自发布30日后视为送达,15日内不诉即生效
nova!1028:竞业避坑指南:1、平时戴口罩及帽子、墨镜,不在公共场所露面 2、不在现有公司收快递 3、自己竞业期间社保缴纳不挂靠,最好不交 4、三方公司不能对外说可挂医社保 5、记住社保缴纳地的地址 6、注意陌生可疑电话,比如猎头 7、自己名下车子不要出入到服务的场所 8、竞业到期后不能马上出现在竞对公司股东信息上 9、注意平台简历内容,会被取证 10、竞业期过后,不要透露过往,以防被追溯 11、非必要不开大会和培训,注意公司内鬼 12、不在社交平台展示自己 13、电话卡不用自己名字登记 14、注意陌生的外卖 15、注意动车票信息 16、竞业期低调不结仇 复制过来的
点赞 评论 收藏
分享
DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务