首页 > 代码库 > 一道有点意思的逻辑题
一道有点意思的逻辑题
题目大概是这样:小孩玩游戏,手拉手围成一个圈,然后数数.每次数到3的时候这个小孩退出,下一个从1开始再数. 试问,如果有500个小孩,最后剩下的小孩是原来的第多少个小孩.
开始想的时候觉得很有意思,然后就试着写代码实现。试了几种写法,先发一个比较满意的
public class ChildThreeDel { public static void main(String[] args) { bool[] arr = new bool[500]; for (int i = 0; i < arr.Length; i++) { arr[i] = true; } int _count = arr.Length; int countNum = 0; int index = 0; while (_count > 1) { if (arr[index] == true) { countNum++; if (countNum == 3) { countNum = 0; arr[index] = false; leftCount--; } } index++; if (index == arr.Length) { index = 0; } } for (int i = 0; i < arr.Length; i++) { if (arr[i] == true) { Console.WriteLine(i+1); } } Console.Read(); } }
一道有点意思的逻辑题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。