社区
JavaScript
帖子详情
n个人围成一圈,从1开始报数,每数到m号出去,问最后出去的应该是多少号?
sunboyljp
2006-11-13 02:05:53
兄弟们,能给出一个数学公式吗?拜托了
...全文
479
2
打赏
收藏
n个人围成一圈,从1开始报数,每数到m号出去,问最后出去的应该是多少号?
兄弟们,能给出一个数学公式吗?拜托了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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语言有很大帮助
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
php实现约瑟夫
问
题的方法小结
主要介绍了php实现约瑟夫
问
题的方法,实例总结了两种常见的实现约瑟夫
问
题的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
JavaScript
87,996
社区成员
224,708
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章