一、问题描述:

17个人围成一个圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号。

二、问题提示:

使用一维数组,数组元素初始为1,从1开始把数字放进数组空间,若数组元素为3的倍数,则把其置0,循环下去直到计数器(counter)减为1,则跳出循环并输出其数组下标(加1即为编号)

三、参考代码:

//(2)17个人围成一个圆圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号

package com.java.job;

public class HandkerchiefQuestion {

public static void main(String[] args) {

int n = 13;// 人数

int counter = n;// 计数器

int num = 1;// 数数

int[] array = new int[n];//声明数组

for (int i = 0; i < array.length; i++) {//数组初始化

array[i] = 1;

}

loop: while (true) {

for (int j = 0; j < array.length; j++) {

if (array[j] != 0) {//如果数组元素不为0,则从1开始赋值

array[j] = num;

if (num % 3 == 0) {//如果赋给数组元素的数能够整除3,则把此数组元素置0,计数器减1(即踢掉一个人)

array[j] = 0;

counter = counter - 1;

if (counter == 1) {//如果最后只剩下一个人,跳出循环

break loop;

}

}

num = num + 1;

}

}

}

for (int k = 0; k < n; k++) {

if (array[k] != 0) {

System.out.println("最后赢家的编号为:"+(k + 1));

}

}

}

}

Java 丢手绢游戏 求和_java入门小程序—17人游戏(丢手绢问题)相关推荐

  1. java入门小程序—17人游戏(丢手绢问题)

    一.问题描述: 17个人围成一个圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号. 二.问题提示: 使用一维数组,数组元素初始为1,从1开始把数字 ...

  2. 丢手帕问题 java_java入门小程序—17人游戏(丢手绢问题) | 学步园

    一.问题描述: 17个人围成一个圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号. 二.问题提示: 使用一维数组,数组元素初始为1,从1开始把数字 ...

  3. java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)...

    玩家类: package playingCardsGame; import java.util.ArrayList; import java.util.List; /* * 玩家类 */ public ...

  4. java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序

    [Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...

  5. 视频教程-5小时零基础入门小程序云开发-微信开发

    5小时零基础入门小程序云开发 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥29.0 ...

  6. 适合编程初学者的开源项目:小游戏2048(微信小程序版)

    目标 为编程初学者打造入门学习项目,使用各种主流编程语言来实现. 2048游戏规则 一共16个单元格,初始时由2或者4构成. 1.手指向一个方向滑动,所有格子会向那个方向运动. 2.相同数字的两个格子 ...

  7. java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部 ...

  8. 零基础入门小程序,实战经验分享

    讲师介绍:连胜大佬曾经就职于点心移动 & 百度,折腾小程序也有段时间了,参与开发的"小小签到"小程序,在2017年荣获阿拉丁神灯奖.我公司开发了多个工具类小程序,已有四款小 ...

  9. 点餐系统部署文档,java后台部署和微信点餐小程序的部署

    准备工作 1,安装jdk8或者jdk11 2,安装mysql8.0(只要是8.0开通即可) 3,安装IntelliJ IDEA 开发工具(java) 4,安装微信小程序开发者工具 5,注册小程序获取小 ...

最新文章

  1. linux大爱版本Vinux 盲人也能用的OS
  2. MySQL性能优化的21个最佳实践
  3. 去除导航栏的背景色和底部1像素黑色线条or隐藏导航栏
  4. 网站跳出率的相关要点介绍
  5. UI设计素材之按钮和选框,悠闲素材帮你轻松搞定设计。
  6. python面试必考知识点_python编程面试中必考的知识点,数据类型全解,笔记超全面...
  7. vs2010使用svn--浅谈AnkhSvn
  8. linux的sudo apt-get install 和dpkg -i package.deb命令
  9. php汉字转拼音 字库型
  10. Linux 上部署 Seafile 9.0.x 专业版(Seafile Server端)——踩一路坑,溅一身水
  11. qq账号绑定服务器地址,网站接入 QQ 登录整合社交账号登录 - 文章教程
  12. web程序中的用户注册
  13. C# 实现蓝牙检测及蓝牙设备信息获取代码
  14. selenium:如何模拟鼠标拖放(drag and drop)
  15. android als传感器,环境光传感器(ALS)背光控制解决方案
  16. 05无人机动态模型(姿态表示与控制理论)2020-08-15
  17. PBOC规范研究之十 ---标准动态数据认证(转)
  18. 谷歌浏览器自定义快捷搜索引擎
  19. php dwz,PHP中的短网址怎么利用DWZ.CN服务进行生成
  20. Win10取消默认浏览器设置一种可能实现的方法

热门文章

  1. 中兴OLT ZXA10 C200 V1.1.3P2T6固件
  2. 计算机excel阶乘,Excel利用VBA计算阶乘
  3. sublime 正则跨行匹配
  4. 2021级新生个人训练赛第38场
  5. 关于Delphi中使用正则表达式获取汉字的问题
  6. 一个小屁孩对父母说的经典话
  7. HA集群强制进行Active/Standby切换的命令
  8. idea中新建maven项目缺少src目录的根本解决方法(适合萌新 少走弯路)
  9. 分数换算小数补0法_高考志愿填报时“线差法”和“位次法”哪个好?
  10. 交付是一种基本的态度