1.约瑟夫问题:

有n个人,编号为1~n,从第一个人开始报数,从1开始报,报到m的人会死掉,然后从第m+1个人开始,重复以上过程。在死了n-1个人后,问最后一个人的编号是?

1.学前代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{int n,i,m;while(scanf("%d%d",&n,&m)!=EOF){int j=0,a[200]={0},k=0;for(i=0;i<n;i++)a[i]=1;for(i=1;i<m+1;i=i%m+1){if(a[j]==1&&i==m){a[j]=0;k++;if(k==n-1)break;j=(j+1)%n;//向后移j+1,范围为0~n-1continue;}if(a[j]==0){j=(j+1)%n;i--;continue;}j=(j+1)%n;}for(i=0;i<n;i++){if(a[i]==1)printf("%d\n",i+1);}}
}

2.进阶:

#include <cstdio>int n,k;int main()
{scanf("%d %d",&n,&k);int ans=0;for(int i=1;i<=n;i++)ans=(ans+k)%i;printf("%d",ans+1);
}

衍生: 圆桌问题:

 圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。

约瑟夫问题、圆桌问题相关推荐

  1. HDU4841 圆桌问题【约瑟夫环+模拟+STL】

    圆桌问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submissi ...

  2. 约瑟夫环问题(圆桌问题)

    约瑟夫环 约瑟夫是犹太军队的一个将军,在反抗罗马的起义中,他所率领的军队被击溃,只剩下残余的部队40余人,他们都是宁死不屈的人,所以不愿投降做叛徒.一群人表决说要死.所以用一种策略来先后kill所有人 ...

  3. java 圆桌_约瑟夫问题求解释(圆桌问题)Java

    publicclassJosephus{publicstaticvoidmain(Stringargs[]){if(args.length!=2)//处理参数数目不正确情况{System.out.pr ...

  4. python约瑟夫环问题给十个学生编号报到3者出列_趣味算法--约瑟夫环问题(示例代码)...

    问题描述 已知n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌上.指定编号为k的人开始从1报数,数到m的那个人出列:出列那个人的下一位又从1开始报数,数到m的那个人出列:以此规则重复下去, ...

  5. 约瑟夫问题(优化优化再优化)

    1 什么是约瑟夫问题 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围. 从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的 ...

  6. php约瑟夫问题,php 解决约瑟夫问题实现方法

    这篇文章主要为大家详细介绍了php 解决约瑟夫问题实现方法,具有一定的参考价值,可以用来参考一下. 对php解决约瑟夫问题的两段代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 一群猴 ...

  7. 约瑟夫环(约瑟夫问题)求最后出列的人数

    约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...

  8. PHP解决约瑟夫环问题

    PHP解决约瑟夫环问题 一.总结 二.PHP解决约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到 ...

  9. 循环链表(约瑟夫环)的建立及C语言实现

    约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列: ...

最新文章

  1. eclipse java混淆打包_eclipse proguard怎么混淆jar包
  2. 2017.10.1 蚯蚓 思考记录
  3. 2012.4.17内存相关(二)
  4. fastJson、Jackson对象转json串不使用驼峰方法和json转对象
  5. css总常用的font-family
  6. 2021-08-02-DJ-015 Django框架之视图函数的request参数到底是什么,有什么
  7. Win10中卸载IE11
  8. android 下载instagram动态中图片的demo
  9. python mpi_MPI Python环境搭建
  10. 零基础玩转树莓派(六)—遥控小车
  11. 数据挖掘--数据流挖掘
  12. 获取复选框的被选中的值
  13. vue3 setup语法糖下父组件调用子组件的方法
  14. 拜耳加大在华投资提升处方药北京工厂产能;喜茶发布停用不可降解塑料吸管倡议书 | 美通企业日报...
  15. 用python通过selenium自动化测试抓取天猫店铺数据
  16. java 银行支付接口_cbcPayment 建设银行Java支付接口详细说明文档dsdsdds - 下载 - 搜珍网...
  17. UDC分类号查询(转载)
  18. 第二十二届中国文旅全球论坛新闻发布会在穗召开
  19. 中国县域统计年鉴(2000-2019年)
  20. 概率统计Python计算:单个正态总体均值双侧假设的T检验

热门文章

  1. Python查找文件夹下含有特定关键字的文档word 查找word中的关键词等
  2. i++和 ++i的区别
  3. Nature:空间扩展生境定殖的进化稳定性策略
  4. 研究人员对特定行为的大脑信号模式进行分离和解码
  5. [教程] 五分钟了解Mecanim角色动画系统
  6. 查询2021年甘肃高考成绩位次,2021年甘肃高考状元多少分是谁,甘肃高考状元名单资料...
  7. SQL Server 聚集索引(clustered index)和非聚集索引(nonclustered index)
  8. JS对象——数组处理方法filter方法
  9. Failed to start docker.service: Unit not found(Docker服务起不来)
  10. 连接本地项目接口报错 Could not get any response