添加链接描述
值最大就是最大的质数 最小是所有因子为质数的不超过n的数
#includeusing namespace std; const int N=2e7+9,M=2e7+10; typedef long long ll; #define int long long int vis[M],p[N],tot=0; void init(int n){ for(int i=2;i<=n;i++){ if(vis[i]==0){ vis[i]=i; p[++tot]=i; } for(int j=1;j<=tot;j++){ if(i*p[j]>n||p[j]>vis[i])break; vis[p[j]*i]=p[j]; } } } bool is_prime(int n){ if(n==1)return 0; for(int i=2;i<=n/i;i++){ if(n%i==0)return 0; } return 1; } signed main(){ init(1e7); int T; scanf("%lld",&T); while(T--){ int n; scanf("%lld",&n); if(n==1){ puts("-1"); continue; } ll mxp=1,nowp; for(int i=n;;i--){ // cout<n)break; mxp=p[i]*mxp; } cout< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)