Cave Painting

Cave Painting

思路

一开始乍一看还没看懂这道题目的意思,然后简单的模拟了一下5 3这组样例发现

  • \(5 \equiv 0 \pmod 1\)
  • \(5 \equiv 1\pmod 2\)
  • \(5 \equiv 2\pmod3\)

好像能满足\(n \equiv (i - 1) \pmod i\)

我们不难发现\(\pmod 1\)时只可能为\(0\)\(\pmod 2\)时只能是\(0,1\)所以上面的假设成立,于是跑一个没有常熟的循环应该\(1e18\)应该能跑吧,暴力就结束了。

代码

#include<bits/stdc++.h>
using namespace std;
int main() {
    long long n, k;
    cin >> n >> k;
    for(long long i = 1; i <= k; i++)
        if(n % i != (i - 1)) {
            cout << "No\n";
            return 0;
        }
    cout << "Yes\n";
    return 0;
}
posted @ 2020-05-05 15:34  lifehappiness  阅读(151)  评论(0编辑  收藏  举报