41个人围成一个圈从1号开始报数,每次报到3的人被杀掉,求最后幸存的人的编号

python:

def move(man, sep):for i in range(sep):item = man.pop(0)man.append(item)  # 加到列表后面def play(man=41, sep=3, rest=2):print("总共%d个人,每报数到%d的人自杀,最后剩余%d个人" % (man, sep, rest))man = [i for i in range(1, man+1)]  # [1,man-1)print("玩家队列:", man)sep -= 1while len(man) > rest:move(man, sep)print('kill', man.pop(0))return manservive = play()  # 返回列表
print("最后逃生的人编号是:", servive)

C++:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);int n;scanf("%d",&n);int a[100];for(int i = 1; i <= n; i++)a[i] = i;int cnt = 0;while(1){int num = 1;for(int i = 1; i <= n; i++){cnt++;if(cnt%3)a[num++] = a[i];}n=num-1;if(n<=2) break;}printf("Final survivor: ");for(int i = 1; i <= n; i++)printf("%d ",a[i]);return 0;
}

【Python笔记】Python/C++解决约瑟夫环问题相关推荐

  1. PHP解决约瑟夫环问题

    PHP解决约瑟夫环问题 一.总结 二.PHP解决约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到 ...

  2. 循环链表解决约瑟夫环问题

    约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题. 什么是约瑟夫环? "约瑟夫环是一个数学的应用问题:已知 ...

  3. 用java解决约瑟夫循环问题,Java实现循环列表解决约瑟夫环问题

    约瑟夫环:共有n个人围成一圈,从1开始报数,数到m的人出圈,求最后幸运者序号?? 下面用Java实现循环列表解决这个问题: package com.iteye.ljmdbc7a; import jav ...

  4. 动态规划解决约瑟夫环问题

    题目: 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号0,1,2,3-n-1分别表示)围坐在一张圆桌周围.从编号为0的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m ...

  5. java实现环形链表解决约瑟夫环问题

    什么是环形链表? 环形链表就是单向链表的基础上让链表的首尾相连,形成一个环,这就是一个循环链表. 什么是约瑟夫环问题? 约瑟夫环如下: 约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数, ...

  6. Python笔记 - Python切片

    Python笔记 - Python切片 Python切片是对一个列表取其部分元素获得一个子序列的常见操作,切片操作的返回结果类型与被切片的对象一致.要创建一个已有列表的切片,通过指定切片的第一个列表元 ...

  7. C语言使用数组和循环解决约瑟夫环问题

    C语言使用数组和循环解决约瑟夫环问题 约瑟夫入狱,监狱内共有 33 个犯人.某日 33 名犯人围成一圈,从第一个犯人开始报数,报到数字 7 的犯人出列, 被枪毙,下一名犯人重新从 1 开始报数.依次类 ...

  8. python解决约瑟夫环(杀人游戏)

    约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围.从第s个人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此 ...

  9. 消除左递归c++代码_【每日算法Day 85】图解算法:一行代码解决约瑟夫环的变体...

    题目链接 LeetCode 390. 消除游戏[1] 题目描述 给定一个从 到 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右 ...

  10. 【图解经典算法题】如何用一行代码解决约瑟夫环问题

    约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼. 问题描述:编号为 1-N 的 N 个 ...

最新文章

  1. 《Python for Data Analysis》之 Series
  2. python calu_Python基本数据类型
  3. [蓝桥杯2018决赛]最大乘积-dfs
  4. 红袖添香唯美中国风PPT模板
  5. quot;在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvokequot;
  6. To程序员:要写出好代码,你需要懂点儿“底层思维”
  7. 禁止选择,右键菜单,拷贝,拖拽
  8. 机械设计基础课程设计详细步骤(说明书)
  9. 简单小爬虫爬取招标信息
  10. 本台计算机控制网速,笔记本网速限制(笔记本电脑限制网速怎么设置)
  11. Linux内核4.14版本——GPIO子系统(2)——gpio control driver分析
  12. 磨皮进阶之高低频全方位解析
  13. 二年级计算机学什么礼物,二年级的小朋友喜欢什么礼物(最美好的礼物二年级)...
  14. D - Plane 航空管制2 HYSBZ - 2535
  15. java 获取est时间_将日期字符串(EST)转换为Java日期(UTC)
  16. 英文投稿期刊查询网站汇总
  17. C++:二维数组参数传递
  18. Odoo ERP 14 客户关系管理
  19. HNUCM信息科学与工程学院第二届新生赛——正式赛
  20. Qno侠诺中小型企业ERP远程接入方案(转)

热门文章

  1. C# SyncDictionary类
  2. 蓝桥杯 BASIC-10 十进制转十六进制
  3. Quartus II 的MegaWizard字体过小
  4. 《MySQL必知必会》学习笔记——1.书中样例表的生成
  5. 【SpringBoot_ANNOTATIONS】自动装配 03 方法 构造器位置的自动装配
  6. c语言和测绘程序设计,测绘程序设计(C语言版)
  7. 2016重庆大学计算机学院复试分数线,重庆大学2016考研复试分数线(已公布)
  8. 使用border制作的css三角形
  9. 谈谈我的微软特约稿:《SQL Server 2014 新特性:IO资源调控》
  10. 【重构与模式】6.1用Creation Method替换构造函数