当K是L+1的倍数时,先手必败。
又因为L>=2,特殊考虑2*p的数据。
--------
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int K,i,L;
while (cin>>K){
for (i=3;i<=(int)sqrt(K);i++){
if (K%i==0) break;
}
if (K%i==0) L=i-1;
else if (K%2==0&&K>4) L=K/2-1;
else L=K-1;
cout<<L<<endl;
}
return 0;
}
--------