C#,21根火柴棍问题(21 Matchticks Problem)的算法与源代码

news/2024/12/22 18:30:01/

一、21根火柴棍问题(21 Matchticks Problem)

21根火柴棍问题是西方经典游戏之一。

给定21根火柴,2个人A和B(比如:分别是计算机和用户)。
每个人一次可以挑选 1-- 4 根火柴。

被迫挑最后一根火柴的人输了。

二、确保自己胜利(玩赖)的办法

这个想法是考虑20根火柴棒,因为谁会选择最后一根火柴,谁就会输掉比赛。
将20分成四部分,即每个部分的大小为5。
因此,如果电脑选择了x根火柴棒,那么用户应该选择(5-x)根火柴棒,并以同样的方式进行操作。
这样,20根火柴将被使用,最后一根火柴将由计算机拾取。
 

源代码:

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;namespace Legalsoft.Truffer.Algorithm
{public static partial class Algorithm_Gallery{public static List<int> Twentyone_Matchstick(int[] arr){int N = arr.Length;List<int> list = new List<int>();for (int i = 0; i < N; i += 1){list.Add(5 - arr[i]);}return list;}}
}

三、更多的火柴棍

当然可以设计更多火柴棍的游戏。

其基本原则是,假设火柴棍为 M+1 根 ,选择游戏限制为每次拿 1---N 根火柴。
M,N 应该有一个合适的 公约数

POWER BY TRUFFER.CN
BY 315SOFT.COM


http://www.ppmy.cn/news/1350455.html

相关文章

jvm问题自查思路

本文聊一下最近处理了一些jvm的问题上&#xff0c;将这个排查和学习过程分享一下&#xff0c;看了很多资料&#xff0c;最终都会落地到几个工具的使用&#xff0c;本文主要是从文档学习、工具学习和第三方技术验证来打开认知和实践&#xff0c;希望有用。 一、文档 不仅知道了…

__main__.py的作用

像C或C、Java等程序都用一个main函数入口&#xff0c;这样一来这些程序都可以直接在命令行运行。 那么python的主函数入口在哪里呢&#xff1f; if __name__ "__main__":fun_call()这个函数就是python的主函数入口。那么当前的python文件就可以直接在命令行里直接…

闭环控制系统手自动策略(车辆定速巡航应用)

闭环控制系统的手自动策略并不会完全一样&#xff0c;不同的行业&#xff0c;基于不同的规范和安全考虑给出的手自动策略是不一样的&#xff0c;这里我们介绍汽车行业定速巡航应用。 PID闭环控制系统手自动切换的相关文章&#xff0c;还可以查看下面链接&#xff1a; 无扰切换…

LeetCode Python - 12. 整数转罗马数字

目录 题目答案运行结果 题目 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如&#xff0c; 罗马数字 2 写做 II &#xff0c;即为两个并列的 1。1…

【后端高频面试题--SpringBoot篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 这里写目录标题 1.什么是SpringBoot&#xff1f;它的主要特点是什么&#xff1f;2.列举一些Spri…

libevent

一、libevent库的安装(ubuntu) root用户运行以下命令&#xff1a; apt-get install libevent-dev非root用户&#xff1a; sudo apt-get install libevent-dev编译命令 gcc 文件名 -o 文件名 -levent二、libevent-IO事件 步骤&#xff1a; 创建事件初始化事件集合初始化事…

【从Python基础到深度学习】2. Ubuntu及插件安装

本期所有软件安装包&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1UVEYm-12FivAnrE5NUXevg?pwdum60 一、安装Ubuntu 1.1 软件安装包&#xff1a;下载 VMware Workstation Pro | CN 一直点下一步即可 1.2 双击运行软件&#xff1a; 输入密钥 1 、VMware 15密钥 …

Python商业数据挖掘实战——爬取网页并将其转为Markdown

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言前言正则表达式进行转换送书活动 前言 在信息爆炸的时代&#xff0c;互联网…