http://www.lydsy.com/JudgeOnline/problem.php?id=1053
对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。现在给定一个数N,你能求出不超过N的最大的反质数么?
题意可以改成:求1~n内g(i)最大i最小的i。
网上有人说可以爆搜。
但是更暴力的方法就是打表啦,n=2e9不就一分钟的事吗……
#include<cstdio>
#include<iostream>
#include<queue>
#include<cstring>
#include<algorithm>
#include<cctype>
using namespace std;
int p[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
int main(){
int n;
scanf("%d",&n);
for(int i=;i<;i++){
if(p[i]>n){
printf("%d\n",p[i-]);
return ;
}
}
}
+++++++++++++++++++++++++++++++++++++++++++
+本文作者:luyouqi233。 +
+欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+
+++++++++++++++++++++++++++++++++++++++++++