Python算法100例-2.1 三色球

完整源代码项目地址,关注博主私信'源代码'后可获取

  • 1.问题描述
  • 2.问题分析
  • 3.算法设计
  • 4.确定程序框架
  • 5.完整的程序

1.问题描述

一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?

2.问题分析

根据问题描述可设任取的8个球中红球为m个,白球为n个,则黑球为8-m-n个。又已知12个球中有3个红球、3个白球、6个黑球,因此,m的取值范围为[0,3],n的取值范围为[0,3],黑球的个数小于等于6,即8-m-n≤6。

3.算法设计

由上述分析可知,红、白、黑三种颜色球的个数的取值范围已经确定了,现在要求的是所有可能的颜色搭配情况,因此可以使用循环结构检测m、n范围内的所有可能取值,再代入8-m-n≤6中进行验证,能够满足条件8-m-n≤6的那些m、n和8-m-n的组合即为问题的解。

4.确定程序框架

程序流程图如图所示。

在这里插入图片描述

5.完整的程序

根据上面的分析,编写程序如下:

%%time
# 三色球问题

if __name__=="__main__":
    # 从12个球中任取8个,红球m个,白球n个,黑球8-m-n个
    # m的取值范围为[0,3],因此n的取值围为[0,3],黑球的个数小于等于6,即8-m-n≤6
    print("\t 红球 \t 白球 \t 黑球")
    print("........................")
    num = 0
    for m in range(0, 4):
        for n in range(0, 4):
            if 8-m-n <= 6:
                num += 1
                print("%2d:  %d \t\t %d \t\t %d" %(num, m, n, 8-m-n))
	 红球 	 白球 	 黑球
........................
 1:  0 		 2 		 6
 2:  0 		 3 		 5
 3:  1 		 1 		 6
 4:  1 		 2 		 5
 5:  1 		 3 		 4
 6:  2 		 0 		 6
 7:  2 		 1 		 5
 8:  2 		 2 		 4
 9:  2 		 3 		 3
10:  3 		 0 		 5
11:  3 		 1 		 4
12:  3 		 2 		 3
13:  3 		 3 		 2
CPU times: user 226 µs, sys: 87 µs, total: 313 µs
Wall time: 303 µs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/401799.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

边缘计算物联网关在生产场景中的应用-天拓四方分享

随着物联网技术的飞速发展&#xff0c;边缘计算物联网关在生产场景中的应用越来越广泛。边缘计算物联网关作为连接物理世界与数字世界的桥梁&#xff0c;能够将传感器、执行器等设备产生的海量数据实时传输到云端进行处理&#xff0c;从而实现生产过程的智能化和自动化。 在生…

电商数据采集+跨境电商|API电商数据采集接口洞悉数字新零售发展

随着全球经济一体化和电子商务的快速发展&#xff0c;网络购物的需求日益增加。不断涌现的电商企业使得行业的竞争情况愈演愈烈。在这种情况下&#xff0c;企业不仅要加大经营力度&#xff0c;还要在自己的基础设施和技术上持续投入&#xff0c;才能更好的适应市场和消费习惯。…

目前电视盒子哪个最好?测评员总结五大目前最强的电视盒子

近来很多朋友咨询我关于电视盒子的问题&#xff0c;不知道目前电视盒子哪个最好&#xff0c;我今年已经测评了十来款电视盒子了&#xff0c;按照测评结果结合配置和价格等为基准&#xff0c;整理了五款目前最强的电视盒子&#xff0c;近期想买电视盒子的可以看看以下这五款&…

华为OD机试真题C卷-篇5

100分值题 生成Huffman树小朋友来自多少小区堆内存申请跳格子3测试用例执行计划路口最短时间问题贪吃的猴子小扇和小船的数字游戏幸存数之和CPU算力分配5G网络建设亲子游戏传递悄悄话宽度最小的子矩阵部门人力分配电脑病毒感染会议室占用时间段 生成Huffman树 给定一个数值数组…

交换瓶子【第七届】【省赛】【A组】

题目描述 有N个瓶子&#xff0c;编号 1 ~ N&#xff0c;放在架子上。 比如有5个瓶子&#xff1a; 2 1 3 5 4 要求每次拿起2个瓶子&#xff0c;交换它们的位置。 经过若干次后&#xff0c;使得瓶子的序号为&#xff1a; 1 2 3 4 5 对于这么简单的情况&#xff0c;显然&#…

沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动

gpio 概述 刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在浮空输入状态 外部中断 所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个 GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,比如 PA1(或 PB1、…

【扩散模型:医学影像中的调查】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;深度学习 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 去噪扩散模型 去噪扩散模型是一类生成模型&#xff0c;最近在各种深度学习问题中引起了极大的兴趣。扩…

C++ Primer 笔记(总结,摘要,概括)——第3章 字符串、向量和数组

目录 3.1 命名空间的using声明 3.2 标准库类型string 3.2.1 定义和初始化string对象 3.2.2 string对象上的操作 3.2.3 处理string对象中的字符 3.3 标准库类型vector 3.3.1 定义和初始化vector对象 3.3.2 向vector对象中添加元素 3.3.3 其他vector操作 3.4 迭代器介绍 3.4.…

力扣102 二叉树的层序遍历 Java版本

文章目录 题目描述思路代码 题目描述 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[…

深度学习发展里程碑事件2006-2024

2006-2024年&#xff0c;深度学习发展经历众多的里程碑事件&#xff0c;一次次地刺激着人们的神经&#xff0c;带来巨大的兴奋。电影还在继续&#xff0c;好戏在后面&#xff0c;期待…… 2006年 深度信念网络&#xff08;DBNs&#xff09;&#xff1a;Geoffrey Hinton与他的学…

爬虫基础(下)

requests模块可以用来获取网络数据&#xff1b; 那么对于爬虫来说&#xff0c;要获取下图网页中的内容&#xff0c;就需要网页的URL。 复制链接方法是&#xff0c;打开网页&#xff0c;点击链接框&#xff0c;右键选择复制。 requests.get()函数可用于模拟浏览器请求网页的过…

软件测试机构与开发人员在软件测试上有什么区别?

软件测试是在软件开发过程中对软件进行功能、性能、安全等方面进行评估和验证的过程。在软件测试中&#xff0c;软件测试机构和开发人员起着不同的作用&#xff0c;有着不同的职责和优势。 从角色定位上来说&#xff0c;软件测试机构是专门从事软件测试服务的组织&#xff0c;…

教你零基础制作产品画册,打开线上市场

​ 随着市场竞争的日益激烈&#xff0c;越来越多的企业开始注重产品的宣传和推广。而产品画册作为产品宣传的重要手段之一&#xff0c;也越来越受到企业的关注。今天&#xff0c;分享一个零基础制作产品画册的方法&#xff0c;帮助你打开线上市场的大门 1.选择合适的企业宣传…

【C++练级之路】【Lv.8】【STL】list类的模拟实现

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、结点二、迭代器2.1 成员变量与默认成员函数2.2 operator*2.3 operator->2.4 operator2.5 operator- …

openGauss学习笔记-225 openGauss性能调优-系统调优-配置向量化执行引擎

文章目录 openGauss学习笔记-225 openGauss性能调优-系统调优-配置向量化执行引擎 openGauss学习笔记-225 openGauss性能调优-系统调优-配置向量化执行引擎 openGauss数据库支持行执行引擎和向量化执行引擎&#xff0c;分别对应行存表和列存表。 一次一个batch&#xff0c;读…

安装及使用Nginx

目录 一、编译安装Nginx 1、关闭防火墙&#xff0c;将安装nginx所需要软件包传到/opt目录下 2、安装依赖包 3、创建运行用户、组 4、编译安装nginx 5、创建软链接后直接nginx启动 6、创建nginx自启动文件 6.1 重新加载配置、设置开机自启并开启服务 二、yum安装 一、编…

【论文解读】transformer小目标检测综述

目录 一、简要介绍 二、研究背景 三、用于小目标检测的transformer 3.1 Object Representation 3.2 Fast Attention for High-Resolution or Multi-Scale Feature Maps 3.3 Fully Transformer-Based Detectors 3.4 Architecture and Block Modifications 3.6 Improved …

fatal error: costmap_2d/keepOutZone.h

fatal error: costmap_2d/keepOutZone.h: No such file or directory 7 | #include "costmap_2d/keepOutZone.h" 解决&#xff1a; #include "costmap_plugins/keepOutZone.h"代码中搜索 costmap_2d&#xff0c;全部替换成costmap_plugins&#xff1b…

MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型

MySQL高可用的基石 在分布式系统中&#xff0c;单机节点在发生故障时无法提供服务&#xff0c;这可能导致长期的服务不可用&#xff0c;从而影响其他节点的运作&#xff0c;导致的后果非常严重 为了满足服务的高可用&#xff0c;往往是通过节点冗余&#xff08;新增相同功能的…

ABAQUS 软件在土木工程中的应用研究

摘要 随着土木工程的不断复杂化以及工程实践对土木工程分析计算要求越来越高,有限元技术在土木工程中的应用也越来越广泛。本文主要介绍国际大型通用有限元软件ABAQUS在土木工程中的应用&#xff0c;主要包括在建筑工程、桥梁工程、岩土工程中的应用&#xff0c;以期为相关工程…