版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wlzzhcsdn/article/details/78225621
题目:
狼找兔子问题:一座山周围有n个洞,顺时针编号为0,1,2,3,4,…,n-1。一只狼从0号洞开始,顺时针方向计数,每当经过第m个洞时,就进洞找兔子。输入m,n。试问兔子有没有幸免的机会?如果有该藏在哪儿?
算法:
#include
#include
using namespace std;
bool a[9999999];
int main()
{
int m,n;
while(cin>>n>>m)
{
//double start=(double)clock();
memset(a,1,sizeof(a));
for(int i=0;i<=n+m;i+=m)
{
if(i>n)
{
i-=n;
}
if(a[i]==1)
a[i]=0;
else
{
break;
}
}
//double finih=(double)clock();
//cout<<finih-start<<endl;
bool flag=1;//是否可以生存
for(int i=0;i
{
if(a[i]==1)
{
cout<<i<<' ';
flag=0;
}
}
if(flag==1)
cout<<"必死";
cout<<endl;
}
}