小道消息
涉及知识点:
- 贪心
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;
}