算法思路:有n个石子,每次最少取1个石子,最多取m个石子,2人依次取石子,最后取光石子的人获胜。若n%(m+1)=0,则先手取k个石子,后手就取m+1-k个石子,每轮都是如此,则在最后一轮后手必定取光石子,后手必胜。若n%(m+1)!=0,则先手可以先取n%(m+1)个石子,则剩余石子数%(m+1)=0,先手必胜。
#include<iostream>
using namespace std;
int main(){
int n,m;
cout<<"请输入石子个数"<<endl;
cin>>n;
cout<<"请输入每次最多可取石子数"<<endl;
cin>>m;
if(n%(m+1)==0)
cout<<"后取石子者必胜"<<endl;
else
cout<<"先取石子者必胜"<<endl;
return 0;
}