一、问题描述:

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 丢手绢游戏 求和_java入门小程序—17人游戏(丢手绢问题)

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

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

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

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

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

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

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

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

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

  6. 《微信小程序》入门小程序-商城小demo的实现

    前言 承接上一篇<入门小程序>,希望通过这个简单的商城demo可以更好的学习并理解微信小程序的开发: (PS:本文接口和图片资源来自于某位老师的网课,为了防止说打广告,因此不放链接了,布局 ...

  7. 简单Python入门小程序

    简单Python入门小程序 简单Python入门小程序 1.猜拳击小游戏,三次后结束.石头-0,剪刀-1,布-2,如果输入错误则提示错误输入. import random i=0 while 1:pe ...

  8. SpringBoot 入门小程序

    SpringBoot 入门小程序CSDN下载 SpringBoot 入门小程序GitHub下载 老规矩,先看项目结构. 有必要参考前面的博客.maven构建web工程 我们构建好maven工程之后,用 ...

  9. H5网页游戏(js),游戏小程序,网页游戏引擎

    采用了Three.js作为3D引擎库,结合tween.js作为配套的动画库,以及基于webpack的脚手架nowa链接作为技术支持.市面上比较成熟的3D库有Three.js和Babylon.js. B ...

最新文章

  1. 分享Kali Linux 2016.2第50周虚拟机
  2. JS异步模式与Promise模式
  3. Java obj与JSON互转(jackson)
  4. newifi mini固件_如何在vmware虚拟机中安装OpenWrt系统,含x86固件编译教程
  5. 什么叫事务?Java如何处理事务呢?
  6. HTTP 04 web 服务器
  7. Android 开发总结大全
  8. PageStateLayout
  9. Android 中文API (69) —— BluetoothAdapter[蓝牙]
  10. sql中如何将视图中某一字段相同的数据合并 不同内容的字段相加_Tableau基础如何合并你的数据?理解与逻辑(上)...
  11. modbus协议的常用测试工具
  12. LaTeX 常用符号大全(from wikipedia)
  13. 解析卷积神经网络学习笔记——魏秀参
  14. 狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发
  15. Linux+C 开发基础
  16. Ember.js如何与后端服务交互?adapter、store、ember data关系揭秘 1
  17. 右键没有WinRAR压缩的解决方法
  18. 推荐学习方法——费曼技巧,以教促学,教学相长
  19. 国内镜像大全(部分)
  20. CentOS8安装NVIDIA显卡驱动、CUDA和Anaconda

热门文章

  1. 如何破解网络密码?(2种方法)
  2. 数据通信系统的性能指标
  3. vue 首页白屏优化
  4. 基于机器视觉的多机械臂煤矸石分拣机器人系统研究
  5. 转计算机网络应用申请书,转专业相关申请书最新6篇
  6. 日本图书馆有哪些地方
  7. 选购笔记本电脑型号的查询
  8. java web调用百度地图_Java web与web gis学习笔记(二)——百度地图API调用
  9. 自定义广告联盟接入解决方案,适用所有广告商接入。
  10. java zgc_现在该关注ZGC和昏暗的Nashorn的明星了:Java影响者参与其中