题目描述

输入

输出

样例输入

样例输出

源代码
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
int mk[1000] = { 0 };
int i, j;
for (i = 0; i < n; i++)
{
mk[i] = 1;
}
int cnt = 1;
int max = 3;
int sum = n;
i = 0;
while (1)
{
if (sum == 1)
break;
if (cnt == max && mk[i]==1)
{
cnt = 1;
sum--;
mk[i] = 0;
}
else if (mk[i]==1)
{
cnt++;
}
i++;
i = i % n;
}
for (i = 0; i < n; i++)
{
if (mk[i] == 1)
{
printf("%d", i + 1);
}
}
return 0;
}
关于这题


这篇博客主要探讨了一道编程题目——猴子选大王。通过C语言实现了一个算法,该算法根据输入的数字n,模拟猴子选大王的过程,直至剩下最后一位大王。在代码中,作者使用了循环和计数器来处理这一问题,逐步减少猴子的数量,直到只剩下一个。文章适合对算法和编程感兴趣的读者阅读。
817

被折叠的 条评论
为什么被折叠?



