/**

@author sunqian

@time 2015.1.27

@功能 约瑟夫(丢手帕)问题

@描述 n个小孩围坐,从k位小孩开始开始约定一个数m并开始轮流报数,数到m的小孩出列直到列表为空,并打印出列顺序 */ package com.sunqian.yuesefu;

public class Yuesefu {

/**

@param args */ public static void main(String[] args) { // TODO Auto-generated method stub CyLink c1=new CyLink(15,2,2); c1.play(); }

}

//环形链表 class CyLink{ //属性

Child firstChild=null; Child temp=null; int len=0; int k; int m; //设置链表大小len,开始位置k,报数m public CyLink(int len,int k,int m){ this.len=len; this.k=k; this.m=m; } //开始游戏 public void play(){ //小孩围坐,创建链表并打印 this.createLink(); this.show(); System.out.println("从"+k+"位小孩开始开始约定一个数"+m+"并开始轮流报数,数到"+m+"的小孩出列"); //1,到第k个小孩 Child childk=this.find(this.firstChild, this.k); //2.开始玩耍 int left=this.len; Child bnc=childk; while(left>0){

Child childM=this.find(bnc, m);

Child childBM=this.find(bnc, m-1);

bnc=childM.nextChild;

System.out.println("出列孩子"+childM.no);

childBM.nextChild=childM.nextChild;

if(left==1)System.out.println("出列完毕!");

left--;

}

} //给定开始小孩,找到第K个小孩,包括开始小孩 public Child find(Child begin,int k){ Child kchild=begin; for(int i=1;i

}

} }

//打印链表 public void show(){ Child temp=this.firstChild; System.out.println("总共有"+this.len+"个小孩"); do{ System.out.println("第"+temp.no+"个小孩序号为"+temp.no); temp=temp.nextChild; }while(temp!=this.firstChild); } } //小孩类 class Child{ int no; Child nextChild=null;

//构造方法 Child(){

} public Child(int no){ this.no=no;

} }

丢手帕程序C语言,约瑟夫问题,即丢手帕游戏相关推荐

  1. 丢手帕程序C语言,语言丢手绢教案中班

    语言丢手绢教案中班 导语:能主动大胆地参加游戏,在追逐.闪躲游戏中享受合作游戏的快乐.受活动的快乐.以下小编为大家介绍语言丢手绢教案中班文章,欢迎大家阅读参考! 语言丢手绢教案中班1 一.活动目标: ...

  2. c语言设置一个选择数字的程序,C语言编一个数字益智小游戏

    程序功能及运行情况 设计的程序是一个数字益智游戏,旨在培养小朋友玩家的数学思维,提高玩家的数学能力.游戏共设有四个不同的小游戏,分别是一位数四则运算.两位数四则运算.找最值游戏.排序游戏.程序能实现产 ...

  3. 让英文版windows 8支持非Unicode程序的语言方法

    Control Panel\Clock, Language, and Region 点击 Region change system locle 非Unicode程序的语言,只要将当前非Unicode程 ...

  4. 每日程序C语言5-斐波那契兔子数

    每日程序C语言 题目 古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少? 算法分析 兔子的对数符合斐波那契数列 斐 ...

  5. 每日程序C语言3-三个数大小排序

    每日程序C语言 题目 输入三个数,按照从小到大的顺序输出 算法分析 在三个数中找出最小的数 比较剩下两个数的大小 依次输出 代码 void sort(int x,int y,int z){if(x&g ...

  6. 每日程序C语言2-判断某日期是这一年的第几天

    每日程序C语言 题目: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析: 闰年和平年的算法,用二维数组来存储月份和天数 核心代码 void fun(int year,int month,in ...

  7. [UWP]针对UWP程序多语言支持的总结,含RTL

    原文:[UWP]针对UWP程序多语言支持的总结,含RTL UWP 对 Globalization and localization 的支持非常好,可以非常容易地实现应用程序本地化. 所谓本地化,表现最 ...

  8. ipad iphone开发_如何在iPhone或iPad上更改应用程序的语言

    ipad iphone开发 BigTunaOnline/Shutterstock.comBigTunaOnline / Shutterstock.com Apple's iOS 13 makes th ...

  9. C语言对stm32f103程序,STM32F103WIFI程序C语言

    <STM32F103WIFI程序C语言>由会员分享,可在线阅读,更多相关<STM32F103WIFI程序C语言(33页珍藏版)>请在人人文库网上搜索. 1.实用标准文案 AP模 ...

最新文章

  1. idea无法创建javaclass文件
  2. python 学习笔记(基础输入输出,字符串,循环,三种数组)
  3. ubuntu20.10创建QT应用程序快捷方式 Terminal中输入命令直接打开QtCreator
  4. Spring Boot笔记-普通异常错误截取及构造错误页面
  5. 对anaconda虚拟环境进行迁移
  6. 管理感悟:人事问题不能拖,必须立即处理
  7. 一个QQ盗号木马是这样诞生的(C#)
  8. python unpack_python struct中pack和unpack
  9. 使用Best Trace工具查看VPS的去程和回程线路的路由
  10. 尤雨溪-写一个mini vue
  11. mybatis中的if-else使用及if嵌套使用
  12. python处理fasta文件_Python脚本:fasta文件单序列信息提取
  13. 智能制造的生产运营管理
  14. 在观察研究中减少数据偏倚:倾向评分(一)
  15. 超详细Vue Devtools的下载和安装——Vue的调试工具
  16. deny of sb sth_deny的短语
  17. 2021年中国频谱分析仪行业市场规模、格局及专利情况分析:行业规模不断扩大,国外企业占据主导地位,国产企业发展空间较大[图]
  18. STM32——时钟系统RCC详细介绍
  19. 第9届全国大学生 GIS 技能大赛下午试题详解(下)附练习数据
  20. 群晖php pear,群晖 DSM 7.0 预览版各机型固件下载链接

热门文章

  1. mbedtls安装与入门
  2. 容器编排工具与 Kuberneters
  3. [tcpreplay] tcpreplay高级用法--使用tcpreplay-edit进行循环动态发包
  4. [翻译]CryEngine3中裁剪剔除解释
  5. ACM-音频编解码器管理器
  6. android的一些简单配置修改(2)
  7. centos的linux内核源码下载方法
  8. 每日一词20190307——参考椭球体(reference spheroid)
  9. emacs 自带的简单入门教程(TUTORIAL)
  10. STM32F411RET6的定时器和STM32F103ZET6定时器比较