https://codeforces.com/problemset/problem/1474/B
首先1一定是一个因子,我们找到第一个距离1大于等于d的质数a。
在找到第二个距离第一个a距离大于等于d的质数b。
答案就是 a*b 因子有1 a b a*b 共四个
感觉这个结论只能打表找规律,或者看样例的答案推出来。
#includeusing namespace std; const int N=1e6+10; int st[N],prime[N],cnt,d,t; void init() { int n=1e6; for(int i=2;i<=n;i++) { if(!st[i]) prime[cnt++]=i; for(int j=0;prime[j]<=n/i;j++) { st[prime[j]*i]=1; if(i%prime[j]==0) break; } } } int main(void) { init(); cin>>t; while(t--) { cin>>d; int a,b; for(int i=0;i =1+d) { a=i; break; } } for(int i=1;i =prime[a]+d) { b=i; break; } } cout<



