5.3 每日一题题解

小道消息

涉及知识点:

  • 贪心

solution:

  • \(这个题答案自己算一下,会发现答案不是1,就是2\)
  • \(答案为2的情况为第k + 1个数不是质数,这样它一定不能更新它的最小因子,所以至少需要两次\)
  • \(还有一种是这个第k + 1个数虽然为质数,但是如果他的二倍小于等于n,那么它至少不能更新n,所以也需要两次\)
  • \(那么其余的答案就是1了\)

std:

#include <iostream>
using namespace std;

int main()
{
    long long n,k;
    cin >> n >> k;
    
    
    bool tf = false;
    
    k++;
    for(long long i = 2;i * i <= k;i ++)
    {
        if(k % i == 0)
        {
            tf = true;
            break;
        }
    }
    if(tf)cout << 2 << endl;
    else
    {
        n++;
        if(k * 2 <= n)cout << 2 << endl;
        else cout << 1 << endl;
    }
    return 0;
}

posted @ 2020-05-05 12:44  QFNU-ACM  阅读(115)  评论(0编辑  收藏  举报