[ACM] CF水题记

Codeforces Round #736 (Div. 2)

A_Gregor and Cryptography

题意: 给你一个素数,让你找到 两个数 a,b 满足

\[P mod a = P mod b \]

\[2 \le a <b \le P \]

思路:随便找几个数,我们就可以构造出

  • 对于奇数,我们直接输出 \(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();
    }
}
上一篇:实验三文档


下一篇:11.15——11.21ACM笔记