📄 五个人捕鱼.cpp
字号:
#include <iostream>
using namespace std;
const int n=6;
int main()
{
int fish[n+1];
int i=0;
int k=0;
for (int j=0;j<=n;j++)
fish[j]=1;
do
{
fish[n]=fish[n]+n; //每次加n个,保证枚举的有效性
k=k+1;
for(i=n-1;i>=1;i--)
{
cout<<"(第"<<k<<"次)"<<char(i+65)
<<"醒时,鱼数"<<fish[i+1]<<" ";
if(fish[i+1]%(n-1)==0) //n-1表示一人走后剩下的人数
//此表达式是判断上个人走之后留下的鱼是否是4的整数倍
{
fish[i]=fish[i+1]*n/(n-1)+1; //此表达式是由i+1个人看到的鱼数推出第i个人看到的鱼数
}
else
{
break;
}
}
cout<<endl;
}while(i>=1);
cout<<endl;
cout<<endl;
for(i=n;i>=1;i--)
cout<<char(64+i)<<"醒来时看到的鱼的数目为"
<<fish[i]<<endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -