猴子选大王
详解见ttps://blog.csdn.net/sxhelijian/article/details/49226553
我的代码
#include <stdio.h>
void SelectKing (int n,int m);
int main()
{
int n,m;
scanf(\"%d%d\",&n,&m);
SelectKing (n,m);
return 0;
}
void SelectKing (int n,int m)
{
int A[100],j=1,k=1,t=0;
for(int i=1;i<=n;i++)
{
A[i]=1;
}
for(j=1;j<=n;j++)
{
k=1;//报数开始
while(k<=m)//报数结束
{
t=(t+1)%(n+1);//注意要折回去
if(A[t]==1)
{
k++;
}
}
A[t]=0;
printf(\"%d %d\\n\",t,A[t]);
}
printf(\"\\n\");
printf(\"king is %d\",t);
}
心得
1.判断条件很简单,要每次跳过为0的猴子,就是条件化报数的问题,如k 用来计数
2.如何循环输出1 2 3 4 1 2 3 4 1 2 3 4,用一个数的增长%5就可以,注意最大得到的是4,就%5
3.条件的控制
k=1;//报数开始
while(k<=m)//报数结束
{
t=(t+1)%(n+1);//注意要折回去
if(A[t]==1)
{
k++;
}
}
while(k<=m),要自己推算
继续阅读与本文标签相同的文章
上一篇 :
《流畅的Python》学习笔记之字典
下一篇 :
24、复杂链表的复制
-
200多万市民实现办事“免交证明”,阿里助力晋城数字化升级
2026-05-19栏目: 教程
-
聚游:颠覆传统规则 构筑区块链游戏新生态
2026-05-19栏目: 教程
-
跟并列式人民日报时评学布局谋篇
2026-05-19栏目: 教程
-
阿里开发者技术交流钉钉群汇总【2019】
2026-05-19栏目: 教程
-
9月书讯:别抱怨读书苦,那是你看世界的路
2026-05-19栏目: 教程
