本文主要是介绍【C语言入门】猴子选大王,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//题目: 山上有m只猴子要选大王,选举办法如下:所有猴子从1到m进行编号并围坐一圈,从第一号开始按
顺序1,2,…n继续报数,凡是报n号的猴子都退出到圈外,照此循环报数,直到圈内只剩下一只猴子
时,这只猴子就是大王.输出大王的编号。
思路:
1.设置全为1的数组(尽量大),报到数将1改为0;
2.从下一只重新报数,报到数将1改为0;
3。当第m个0产生,即产生猴王。
#include "Stdio.h"int main()
{ int a[100];int i,m,n,t,sum=0;scanf("%d,%d",&m,&n);for(i=0;i<100;i++){a[i]=1;}t=0; //猴子的编号for(i=1;i<=m; )
{
sum+=a[t]; //一个个报数
if(sum==n) //退出
{
a[t]=0;
printf("%d",t+1);
sum=0; // 重新报数
i++;
}
t=(t+1)%m; //闭环 从下一只开始
}
printf("\n") ;getch();return 0;
}
这篇关于【C语言入门】猴子选大王的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!