用打表AC的,数据生成:
#include<bits/stdc++.h>
using namespace std;
int n;
vector<int> G;
int g(int x){
int ans=0;
for(int i=1;i*i<=x;i++){
if(x%i==0){
ans++;
if(x/i!=i)
ans++;
}
}
G.push_back(ans);
return ans;
}
int main(){
for(int i=1;i<=2e9;i++){
int k=g(i);
bool p=1;
for(int j=1;j<i;j++)
if(G[j-1]>=k){
p=0;break;
}
if(p)
printf("%d ",i);
}
return 0;
}
求正解代码。