Codeforces Round #736 (Div. 2)
A_Gregor and Cryptography
题意: 给你一个素数,让你找到 两个数 a,b
满足
思路:随便找几个数,我们就可以构造出
- 对于奇数,我们直接输出 \(2\) 和 \(n-1\) 即可 ,mod 值为 \(1\)
- 对于偶数,我们直接输出 \(2\) 和 \(n>>1\) 即可,mod 值为 \(0\)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
void solve()
{
int n;
cin >> n;
if( n&1 ){ /// odd
cout << 2 << " " << n-1 <<endl;
}else{ /// even
cout << 2 << " " << (n>>1) << endl;
}
}
int main()
{
ios::sync_with_stdio(false);
cout.tie(nullptr);
cin.tie(nullptr);
int t;
cin>> t;
while(t--){
solve();
}
}