约瑟夫问题、圆桌问题
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个人全是好人。
约瑟夫问题、圆桌问题相关推荐
- HDU4841 圆桌问题【约瑟夫环+模拟+STL】
圆桌问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submissi ...
- 约瑟夫环问题(圆桌问题)
约瑟夫环 约瑟夫是犹太军队的一个将军,在反抗罗马的起义中,他所率领的军队被击溃,只剩下残余的部队40余人,他们都是宁死不屈的人,所以不愿投降做叛徒.一群人表决说要死.所以用一种策略来先后kill所有人 ...
- java 圆桌_约瑟夫问题求解释(圆桌问题)Java
publicclassJosephus{publicstaticvoidmain(Stringargs[]){if(args.length!=2)//处理参数数目不正确情况{System.out.pr ...
- python约瑟夫环问题给十个学生编号报到3者出列_趣味算法--约瑟夫环问题(示例代码)...
问题描述 已知n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌上.指定编号为k的人开始从1报数,数到m的那个人出列:出列那个人的下一位又从1开始报数,数到m的那个人出列:以此规则重复下去, ...
- 约瑟夫问题(优化优化再优化)
1 什么是约瑟夫问题 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围. 从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的 ...
- php约瑟夫问题,php 解决约瑟夫问题实现方法
这篇文章主要为大家详细介绍了php 解决约瑟夫问题实现方法,具有一定的参考价值,可以用来参考一下. 对php解决约瑟夫问题的两段代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 一群猴 ...
- 约瑟夫环(约瑟夫问题)求最后出列的人数
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出 ...
- PHP解决约瑟夫环问题
PHP解决约瑟夫环问题 一.总结 二.PHP解决约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到 ...
- 循环链表(约瑟夫环)的建立及C语言实现
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列: ...
最新文章
- eclipse java混淆打包_eclipse proguard怎么混淆jar包
- 2017.10.1 蚯蚓 思考记录
- 2012.4.17内存相关(二)
- fastJson、Jackson对象转json串不使用驼峰方法和json转对象
- css总常用的font-family
- 2021-08-02-DJ-015 Django框架之视图函数的request参数到底是什么,有什么
- Win10中卸载IE11
- android 下载instagram动态中图片的demo
- python mpi_MPI Python环境搭建
- 零基础玩转树莓派(六)—遥控小车
- 数据挖掘--数据流挖掘
- 获取复选框的被选中的值
- vue3 setup语法糖下父组件调用子组件的方法
- 拜耳加大在华投资提升处方药北京工厂产能;喜茶发布停用不可降解塑料吸管倡议书 | 美通企业日报...
- 用python通过selenium自动化测试抓取天猫店铺数据
- java 银行支付接口_cbcPayment 建设银行Java支付接口详细说明文档dsdsdds - 下载 - 搜珍网...
- UDC分类号查询(转载)
- 第二十二届中国文旅全球论坛新闻发布会在穗召开
- 中国县域统计年鉴(2000-2019年)
- 概率统计Python计算:单个正态总体均值双侧假设的T检验
热门文章
- Python查找文件夹下含有特定关键字的文档word 查找word中的关键词等
- i++和 ++i的区别
- Nature:空间扩展生境定殖的进化稳定性策略
- 研究人员对特定行为的大脑信号模式进行分离和解码
- [教程] 五分钟了解Mecanim角色动画系统
- 查询2021年甘肃高考成绩位次,2021年甘肃高考状元多少分是谁,甘肃高考状元名单资料...
- SQL Server 聚集索引(clustered index)和非聚集索引(nonclustered index)
- JS对象——数组处理方法filter方法
- Failed to start docker.service: Unit not found(Docker服务起不来)
- 连接本地项目接口报错 Could not get any response