把犯人围城一圈,每次杀掉第七个,又从第八个开始杀掉第七个,直到剩下最后一个

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //假设有10个人
            List<int> list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            //用于记录谁是第几个
            int index = 1;
            //开始循环的杀人,数一次index+1
            for (int i = 0; i < list.Count; i++) {
                //如果index=7那么对应的这个人将会被杀死
                if (index == 7){
                    Console.WriteLine("杀死:"+list[i]);
                    //此处代码是将数到的第七个杀死之后,那么重新排序数组
                    //然后index的计数重新开始计算,i=-1,也开始重新循环
                    //无法用程序把这10人围城一个圈,那么就把这10人在圈的位置,重新组合
                    //比如,第一次游戏开始,10人的第一次位置是1,2,3,4,5,6,7,8,9,10
                    //杀死位于第七个的人7之后,下一个是从8开始,这次的位置就是8,9,10,1,2,3,4,5,6
                    //这样依次类推,杀第七个,下面的代码就是这样去重新组合新数组
                    List<int> temp = new List<int>();
                    for (int j = i+1; j < list.Count; j++){
                        temp.Add(list[j]);
                    }
                    foreach (int g in temp){
                        list.Remove(g);
                    }
                    //移除掉第七个
                    list.Remove(list[i]);
                    temp.AddRange(list);
                    list.Clear();
                    //新数组
                    list = temp;
                    //重新循环计算
                    index = 0;
                    i = -1;
                }
                //如果只剩下最后一个则跳出循环
                if (list.Count == 1)
                {
                    Console.WriteLine("最后活下来的人是:" + list[0]);
                    break;
                }
                //假如人还没死到最后一个则继续杀
                if (i == list.Count - 1){
                    i = -1;
                }
               
                index++;
            }
        }
    }
}

约梭芬杀人算法 约梭芬杀人法相关推荐

  1. 如何看创建媒体日期_每天约4万个网约车投诉,看AI如何接招_媒体_澎湃新闻

    原创 科技日报 科技日报 ◎ 科技日报记者 张佳星 "我们的平台每天接待大概4万个投诉."10月29日,在"智能出行.引领未来"媒体沟通会上,首汽约车CEO魏东 ...

  2. e3 1231 v3 达芬奇_Premiere和达芬奇调色,都是最新版

    Pr更新到最新版 在达芬奇调色软件DaVinci Resolve Studio 更新到16版本后,Adobe 终于不再挤牙膏,频繁更新.从2020下半年开始,推出了支持硬件加速(Nvdia和AMD显卡 ...

  3. LL1分析构造法_数学建模算法--最优赋权法(含代码)

    数学建模算法--最优赋权法(含代码) 作者:郑铿城 本次介绍数学建模和科研写作的方法--最优赋权法最优赋权法经常用于分析评价类问题,从该算法的名称就可以看到,该算法首先要体现"最优" ...

  4. 数据结构与算法(Python)– 回溯法(Backtracking algorithm)

    数据结构与算法(Python)– 回溯法(Backtracking algorithm) 1.回溯法 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条 ...

  5. java三次指数平滑_时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)

    所有移动平均法都存在很多问题. 它们都太难计算了.每个点的计算都让你绞尽脑汁.而且也不能通过之前的计算结果推算出加权移动平均值. 移动平均值永远不可能应用于现有的数据集边缘的数据,因为它们的窗口宽度是 ...

  6. 【聚类算法】基于matlab划分法k-means聚类算法【含Matlab源码 1941期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[聚类算法]基于matlab划分法k-means聚类算法[含Matlab源码 1941期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  7. 算法复杂度:算法时间复杂度和空间复杂度表示法

    文章地址:http://lzw.me/a/algorithm-complexity.html 算法复杂度分为时间复杂度和空间复杂度. 时间复杂度用于度量算法执行的时间长短:而空间复杂度则是用于度量算法 ...

  8. 1504: 变态杀人狂 时间限制: 1 Sec 内存限制: 128 MB 提交: 21 解决: 10 [提交][状态][论坛] 题目描述 变态杀人狂三师弟想到一个杀人游戏 游戏规则如下: 三师

                1504: 变态杀人狂 时间限制: 1 Sec  内存限制: 128 MB 提交: 21  解决: 10 [提交][状态][论坛] 题目描述 变态杀人狂三师弟想到一个杀人游戏 ...

  9. 总结c语言基础算法——冒泡排序法和选择排序法

    1.首先无论何种排序方法其最终目的是按要求将所给数据进行排序.而在C语言中可以有很多排序的方法,这里着重介绍的是常用的较为基础和重要的算法--冒泡排序法和选择排序法. 下面将举一个例子进行讲解: 要求 ...

最新文章

  1. c语言个人通讯录管理系统实验报告_C语言实现个人通讯录管理系统
  2. 【Codeforces】1093C Mishka and the Last Exam
  3. (四)spring cloud微服务分布式云架构-配置中心和消息总线(配置中心终结版)...
  4. 平衡查找树C语言程序,树4. Root of AVL Tree-平衡查找树AVL树的实现
  5. 融资租赁基础干货知识大整理
  6. mysql中in查询效率低的替代方法_一波骚操作,我把 SQL 执行效率提高了 10,000,000 倍...
  7. linux获取tomcat进程,Shell 获取Tomcat进程号
  8. CCF NOI1005 存款收益
  9. python chardet_python 第三方库 chardet
  10. MapGIS数据中心是什么?
  11. ElasticSearch分词近义词
  12. NetKeeper(创翼)开WIFI方法——2018.5
  13. MAC显示屏的网页图片兼容方案
  14. 02好好学习读书笔记-- 黄金思考圈
  15. 你离顶尖游戏大厂只差这份招面试攻略啦
  16. 当生活真的过得很艰难的时候,你是怎么熬过来的?(内容来自知乎,用于自省)...
  17. 偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化
  18. Android 接入穿山甲SDK之信息流广告
  19. deap遗传算法 tirads代码解读
  20. jro java_java-如何遍历Android中的Firebase结构?

热门文章

  1. FPGA中触发器和锁存器总结
  2. 【原创】终结版 窗口前置 方案 最前面 Z 轴 窗体 最前面
  3. 使用js完成注册页面验证-注册有返回值的onsubmit事件函数
  4. Kali与Shell编程 -- 软件包管理命令deb安装
  5. 泛型(Generic)到底是什么,泛型总结
  6. Python精选5篇教学心得
  7. 磁性材料测量中最常见的5个错误
  8. vue keepAlive
  9. 最详细的signal 通信协议讲解,双棘轮复杂加密
  10. python web项目(django+Layui+mysql)