AC. 梦想

frank_c1

[BZOJ 1053] 反素数

发布于2015年12月20日 | 暂无评论 | 573阅读 | 搜索,贪心

题目描述

对于任何正整数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的最大的反质数。

题目解析

这题一开始想的时候没什么想法,以为是什么神奇的数论知识。这题其实是搜索。注意将题目条件变换一下,题意其实就是求不大于N的正整数中约数个数最多的数。有一个小小的贪心,取大质数一定不如取小质数。前11个质数相乘已经大于20亿,所以预处理出前11个质数,爆搜过去即可。