URAL 1023 Buttons 博弈

当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;
}


--------

原文地址:https://www.cnblogs.com/cyendra/p/3681521.html