0
0
cin>>n; a[1]=1; for(int i=2;i<=sqrt(n);i++){ if(a[i]==0){ for(int j=2*i;j<=n;j+=i){ a[j]++; } } } for(int i=2;i<=n;i++){ if(a[i]==0){ for(int j=i;j<=n;j+=i){ b[j]++; } } } for(int i=2;i<=n;i++){ if(b[i]>maxn){ maxn=b[i]; } } for(int i=2;i<=n;i++){ if(b[i]==maxn){ sum=i; break; } } cout<<sum<<" "<<maxn;
核心,定义自己想吧