这道题是有点意思,出题人想让我往欧拉函数上想@_@?但是举几个例子出来就出来了(签到题)(主要是读懂题意什么是composite integer就是可以有两个比他小的数相乘等于它本身 如:6=2*3 6就是一个复合数)而欧拉函数的功能就是计算出[1,n)的与n互质的数的个数 比如:个那么2不是复合数。读者可以用手算一下。
这样再举几个例子:
这样就知道了后面都是偶数也就是都是composite integer 只需要对第一个(n==1)单独讨论,其他的就是等差数列:n+5(n>=2)
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll const mod = 998244353;
#define N 1e9
//bool isPrime[N];
//ll prime[N];//用来存素数
//ll tot;//表示素数的总数
//void get_prime()//得到素数表prime[素数]=1;
//{
// for(int i=2;i<N;i++){
// if(!isPrime[i]){
// prime[tot++] = i;
// }
// for(int j=0;j<tot;j++){
// if(prime[j] * i >= N) break;
// isPrime[prime[j] * i] = 1;
// if(i%prime[j] == 0) break;
// }
// }
//}
int main()
{
// get_prime();
ll t,k;
scanf("%lld",&t);
while(t--){
scanf("%lld",&k);
if(k==1){
printf("%lld\n",5);
}else {
printf("%lld\n",k+5);
}
}
return 0;
}