首先要知道反素数的性质
性质一:​​​一个反素数的质因子必然是从2开始连续的质数​​​ 性质二:​​p=2^t1*3^t2*5^t3*7^t4.....必然t1>=t2>=t3>=t4....​

代码:

#include<cstdio>
#define ll long long
using namespace std;
int n,ans=1,num=1;
int p[15]={1,2,3,5,7,11,13,17,19,23,29,31};
void dfs(int k,ll now,int cnt,int last)
{
if(k==12)
{
if(now>ans&&cnt>num){ans=now;num=cnt;}
if(now<=ans&&cnt>=num){ans=now;num=cnt;}
return;
}
int t=1;
for(int i=0;i<=last;i++)
{
dfs(k+1,now*t,cnt*(i+1),i);
t*=p[k];
if(now*t>n)break;
}
}
int main()
{
scanf("%d",&n);
dfs(1,1,1,20);
printf("%d",ans);
return 0;
}