丢手帕程序C语言,约瑟夫问题,即丢手帕游戏
/**
@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语言,约瑟夫问题,即丢手帕游戏相关推荐
- 丢手帕程序C语言,语言丢手绢教案中班
语言丢手绢教案中班 导语:能主动大胆地参加游戏,在追逐.闪躲游戏中享受合作游戏的快乐.受活动的快乐.以下小编为大家介绍语言丢手绢教案中班文章,欢迎大家阅读参考! 语言丢手绢教案中班1 一.活动目标: ...
- c语言设置一个选择数字的程序,C语言编一个数字益智小游戏
程序功能及运行情况 设计的程序是一个数字益智游戏,旨在培养小朋友玩家的数学思维,提高玩家的数学能力.游戏共设有四个不同的小游戏,分别是一位数四则运算.两位数四则运算.找最值游戏.排序游戏.程序能实现产 ...
- 让英文版windows 8支持非Unicode程序的语言方法
Control Panel\Clock, Language, and Region 点击 Region change system locle 非Unicode程序的语言,只要将当前非Unicode程 ...
- 每日程序C语言5-斐波那契兔子数
每日程序C语言 题目 古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少? 算法分析 兔子的对数符合斐波那契数列 斐 ...
- 每日程序C语言3-三个数大小排序
每日程序C语言 题目 输入三个数,按照从小到大的顺序输出 算法分析 在三个数中找出最小的数 比较剩下两个数的大小 依次输出 代码 void sort(int x,int y,int z){if(x&g ...
- 每日程序C语言2-判断某日期是这一年的第几天
每日程序C语言 题目: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析: 闰年和平年的算法,用二维数组来存储月份和天数 核心代码 void fun(int year,int month,in ...
- [UWP]针对UWP程序多语言支持的总结,含RTL
原文:[UWP]针对UWP程序多语言支持的总结,含RTL UWP 对 Globalization and localization 的支持非常好,可以非常容易地实现应用程序本地化. 所谓本地化,表现最 ...
- ipad iphone开发_如何在iPhone或iPad上更改应用程序的语言
ipad iphone开发 BigTunaOnline/Shutterstock.comBigTunaOnline / Shutterstock.com Apple's iOS 13 makes th ...
- C语言对stm32f103程序,STM32F103WIFI程序C语言
<STM32F103WIFI程序C语言>由会员分享,可在线阅读,更多相关<STM32F103WIFI程序C语言(33页珍藏版)>请在人人文库网上搜索. 1.实用标准文案 AP模 ...
最新文章
- idea无法创建javaclass文件
- python 学习笔记(基础输入输出,字符串,循环,三种数组)
- ubuntu20.10创建QT应用程序快捷方式 Terminal中输入命令直接打开QtCreator
- Spring Boot笔记-普通异常错误截取及构造错误页面
- 对anaconda虚拟环境进行迁移
- 管理感悟:人事问题不能拖,必须立即处理
- 一个QQ盗号木马是这样诞生的(C#)
- python unpack_python struct中pack和unpack
- 使用Best Trace工具查看VPS的去程和回程线路的路由
- 尤雨溪-写一个mini vue
- mybatis中的if-else使用及if嵌套使用
- python处理fasta文件_Python脚本:fasta文件单序列信息提取
- 智能制造的生产运营管理
- 在观察研究中减少数据偏倚:倾向评分(一)
- 超详细Vue Devtools的下载和安装——Vue的调试工具
- deny of sb sth_deny的短语
- 2021年中国频谱分析仪行业市场规模、格局及专利情况分析:行业规模不断扩大,国外企业占据主导地位,国产企业发展空间较大[图]
- STM32——时钟系统RCC详细介绍
- 第9届全国大学生 GIS 技能大赛下午试题详解(下)附练习数据
- 群晖php pear,群晖 DSM 7.0 预览版各机型固件下载链接