社区
JavaScript
帖子详情
n个人围成一圈,从1开始报数,每数到m号出去,问最后出去的应该是多少号?
sunboyljp
2006-11-13 02:05:53
兄弟们,能给出一个数学公式吗?拜托了
...全文
486
2
打赏
收藏
n个人围成一圈,从1开始报数,每数到m号出去,问最后出去的应该是多少号?
兄弟们,能给出一个数学公式吗?拜托了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunboyljp
2006-11-13
打赏
举报
回复
数学公式?
懒得去死
2006-11-13
打赏
举报
回复
*求围圈问题的详细算法和程序*/
/*17人围成一圈,编号为1,2,3,……,17,从1开始报数,报到3的倍数的人离开,
一直下去,直到最后剩下1人,求此人的编号 */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a[17]={0};
int i, count, s;
for (i = 0;i < 17;i++)
{
a[i] = i + 1; /* 填空数组,编号是下标加一,注意C语言中的数组下标从0开始 */
}
i=0;
s=17; //用来记录退出圈外的人的数目
count=0; //计数器
while(s > 1)
{
for(i=0; i<17; i++)
if(a[i] != 0)
{
count++; //报一次数
if(count == 3) //每报到一次3,该人退出
{
printf("%d\n",a[i]); /* 把这个家伙打印出来 */
a[i] = 0;
count = 0; //计数器归零
s--;
}
}
}
for(i=0; i<17; i++)
if(a[i] != 0)
printf("最后一个是:%d\n",a[i]);
system("pause");
return 0;
}
算法2:
/*求围圈问题的详细算法和程序*/
/*17人围成一圈,编号为1,2,3,……,17,从1开始报数,报到3的倍数的人离开,
一直下去,直到最后剩下1人,求此人的编号 */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a[17]={0};
int i, j, s;
for (i = 0;i < 17;i++)
{
a[i] = i + 1; /* 填空数组,编号是下标加一,注意C语言中的数组下标从0开始 */
}
i=0;
s=17;
j=0;
while(s > 1)
{
if(a[i%17] != 0)
{
if((i+1-j)%3 == 0)
{
printf("%d\n",a[i%17]); /* 把这个家伙打印出来 */
a[i%17] = 0;
s--;
}
}
else
j++;
i++;
}
for(i=0; i<17; i++)
if(a[i] != 0)
printf("最后一个是:%d\n",a[i]);
system("pause");
return 0;
}
n
个人
围成
一圈
,从1开始数
n
个人
围成
一圈
从1开始数 数到k的人
出去
接着从1开始数 数到k
出去
最后
出来的人是谁 c语言程序设计教程(第二版)谭浩强 经典例题 对于学习c语言有很大帮助
Python使用列表完成程序的编写:有n
个人
围成
一圈
,顺序排
号
。从第一
个人
开始
报数
(从1到m
报数
),凡是报到m的人退出圈子,
问
最后
留下的是原来第几
号
的人。
看了挺多博客感觉都挺复杂的,自己写这个自认为比较简单,也更灵活,希望可以帮到需要的人,也欢迎有大佬批评指正!! n=int(input("请输入总人数:")) m=int(input("请规定报到数字几的人退出圈子:")) circle=[] for i in range(1,n+1): circle.append(i) num=1 while len(circle)!=1: circle.append(circle.pop(0)) #把已
报数
的人取出放到队尾,以此实现
围成
圈循环往复 num+=1 if num==m: del circle[0]
baoshu.zip_https:m.baoshu.com_m baoshu_m. shubao
m
个人
围成
一圈
,1,2,3循环
报数
,报到3的人退出,并将退出的序
号
依次存到数组p中,包括
最后
一
个人
的序
号
。到
最后
只余1人,输出
最后
留下的是第几
号
(最初的序
号
,以1起始)。
Joseph-Circle.rar_M?n
使用链表实现约瑟夫环,总人数为N,
报数
M的人出列,得出依次出列的人的序
号
和最终留下来的人
数据结构常见
问
题:12单元28 敢死队
问
题.doc
数据结构常见
问
题:12单元28 敢死队
问
题.doc
JavaScript
87,995
社区成员
224,693
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章