每周算法题(从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案,有1、2、3、4数字,组成无重复的三位数两个乒乓球队进行比赛,各出三人。甲队为a,b,c)

每周算法题(从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案,有1、2、3、4数字,组成无重复的三位数两个乒乓球队进行比赛,各出三人。甲队为a,b,c)

每周算法题

文章目录

  • 每周算法题
  • 一、从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
  • 二、有1、2、3、4数字,组成无重复的三位数
  • 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。
  • 总结


一、从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。

根据题意

  • 红球的数从0-3不等
  • 白球的数从1-5不等(因为必须有白球)
  • 黑球的数从0-6不等
  • 只有当球的总数是8时,才是可行的方案

代码如下

void main()
{int count = 0;for (int red = 0; red <= 3; red++){for (int white = 1; white <= 5; white++){for (int black = 0; black <= 6; black++){if (red+white+black==8){					printf("%d,%d,%d\n", red, white, black);}count++;}}}printf("%d", count);
}

这里count是为了计算整个循环运行了多少次,这里count结果是140,这就是穷举法,也就是死算.
但它也是可以优化的


void main()
{int count = 0;for (int red = 0; red <= 3; red++){for (int white = 1; white <= 5; white++){int black = 8 - red - white;if (red + white + black == 8){printf("%d,%d,%d\n", red, white, black);}count++;}}printf("%d", count);
}

因为这里当红球和白球的数量固定后,黑球的数量也能够知道,所以不需要再来一个循环了
这次的count结果是20次,算是质的飞跃了

二、有1、2、3、4数字,组成无重复的三位数

根据题意

  • 就是3个循环,每个数都不能相同
void main()
{int count = 0;for (int num1 = 1; num1 <= 4; num1++){for (int num2 = 1; num2 <= 4; num2++){for (int num3 = 1; num3 <= 4; num3++){if (num1!=num2&&num2!=num3&&num3!=num1){printf("%d%d%d\n", num1, num2, num3);}count++;}}}printf("%d", count);
}

这里当然也是可以优化的

void main()
{int count = 0;for (int num1 = 1; num1 <= 4; num1++){for (int num2 = 1; num2 <= 4; num2++){if (num1 != num2){for (int num3 = 1; num3 <= 4; num3++){if (num3!= num2 && num3 != num1){printf("%d%d%d\n", num1, num2, num3);}count++;}}}}printf("%d", count);
}

如果先判断前两个位是否相等,再执行第三位的循环,就能省去不少无用功

两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。

原题:
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。
己抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和 x,z比,请编程序找出三队赛手的名单。

这题其实同理,但需要注意的是一个常识问题.自己队里的人没办法比赛,所以要提前判断

void main()
{for (char a = 'x'; a <= 'z'; a++){for (char b = 'x'; b <= 'z'; b++){if (a!=b){for (char c = 'x'; c <= 'z'; c++){if (c!=a&&c!=b){if (a != 'x' && c != 'x' && c != 'z'){printf("a-%c,b-%c,c-%c\n", a, b, c);}}}}}}
}

总结

这种算法题其实就是一个逻辑问题,和我一起平时多练多思考吧

发布者:admin,转转请注明出处:http://www.yc00.com/news/1692859762a651667.html

相关推荐

  • 修改maxwell代码,跳过DDL报错

    issue如下:注意: 我这里的修改在我的这个场景下是可以的,如果是更严格的场景可能需要慎重考虑。DDL如下:代码语言:txt复制alter table `db1`.`_tb1_new` change `name` `name` VARCH

    2小时前
    00
  • HarmonyOS NEXT

    关系型数据库对应用提供通用的操作接口,底层使用SQLite作为持久化存储引擎,支持SQLite具有的数据库特性,包括但不限于事务、索引、视图、触发器、外键、参数化查询和预编译SQL语句。适用的场景:存储包含复杂关系数据的场景,比如一个班级的

    2小时前
    10
  • 网上晒图要当心!AI六成可能知道你在哪儿

    新智元报道编辑:KingHZ【新智元导读】给AI一张全新的照片,它能以相当高的准确率还猜出照片在哪个城市拍摄的。在新研究中,表现最好的AI模型,猜出图片所在城市的正确率比人类高62.6%!以后网上晒图可要当心了,AI可能知道你在哪里!A

    2小时前
    00
  • 10M、100M、1000M以太网一致性测试

    10M100M1000M以太网物理层测试前言:了解信号质量测试,从实际出发去debug。一:以太网物理层测试项介绍IEEE 802.3规定了PMA的工作标准。为了验证是否半导体供应商的设备和电路板设计符合本标准。其中一种方法就是使用示

    2小时前
    00
  • clock oscillator,generator,buffer选型杂谈

    开题先来看下这几个差异:时钟震荡器就是常说的Clock Oscillator。时钟震荡器(Oscillator)本身可以产生频率源的,它的主要作用是产生频率源。 时钟缓冲器就是常说的Clock Buffer。时钟缓冲器(Buffer)本身是

    2小时前
    00
  • I2C误码了怎么处理

    我相信不少人有遇到I2C设备识别不到,或者概率性误码。我相信大部分工程师的做法如下:1.调整上拉电阻的大小,然后重新老化测试;2.降低I2C速率,然后老化测试;3.软件加入一定判断条件,将能剔除的误码剔除掉。站在硬件角度来看:第一点,盲目调

    1小时前
    20
  • IPTools for .NET:快速查询全球IP信息

    IPTools 是一个用于快速查询全球 IP 地址信息的库,支持国内和国际 IP 查询,提供详细的地理位置信息(如国家、省份、城市)以及经纬度等数据。1. IPTools.ChinaIPTools.China 专注于快速查询中国 IP 地址

    1小时前
    00
  • 常见的网络攻击方式及防御措施:全面解析网络安全威胁

    常见的网络攻击方式及防御措施:全面解析网络安全威胁前言肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。作者:神的孩子都在歌唱在信息化高速发展的今天,网络安全威胁无处不在,不论是个人用户、企业组织,甚至是政府部门,都面临

    1小时前
    10
  • 如何进行纹波测试?

    纹波是电源质量的重要指标,尤其对于精密设备和高可靠性应用来说,纹波的精确测量至关重要。以下将针对纹波测试的原理、测试方法及注意事项进行详细优化和补充,特别是如何使用示波器测量电源纹波,确保测量准确性,并给出一些实际操作建议。1纹波与噪声的定

    1小时前
    00
  • 基于交互网络的新型编程语言 Vine

    作者 | Steef-Jan Wiggers 译者 | 王强 策划 | TinaVine 编程语言是一种基于交互网络构建的新型实验性语言。它具有函数式和命令式编程模式之间的互操作性。Vine 是一种静态类型的编译语言,有着简洁

    1小时前
    00
  • OpenAI 发布大模型现实世界软件工程基准测试 SWE

    作者 | Daniel Dominguez 译者 | 明知山 策划 | 丁晓昀OpenAI 发布 SWE-Lancer 基准测试,用于评估 AI 大语言模型在现实世界自由职业软件工程任务中的表现。该基准测试的数据集包含来自 U

    1小时前
    00
  • OpenAI 宣布采用竞对 Anthropic 协议,一夜将 MCP 送上热搜!Karpathy:赶紧歇了吧

    整理 | 冬梅 1 Altman 确认采用 Anthropic 的 MCP 协议美国当地时间 3 月 26 日,OpenAI CEO Sam Altman 在 X(原 Twitter)帖子中确认,OpenAI 将在旗下产品(包括 Ch

    1小时前
    00
  • 产品端对接三方登录设计方案

    写在最前面,该方案是三方应用免登设计方案。去除了涵盖公司机密信息部分,阅读起来只能给大家一个思路参考~流程说明对接钉钉、飞书、企业微信及自研三方平台实现H5免登录,不同平台协议的核心差异在授权流程,下面详细对钉钉侧说明。钉钉(企业内部应用授

    1小时前
    00
  • Power BI添加访客留言功能、指标异常自动推送预警功能

    无论是发布到公共Web端的、还是公司内部的Power BI报告,甚至是分享给别人的pbix文件,我们都可以添加这样一个访客留言系统:访客添加留言信息后,点击提交:管理员在后台就可以收到这样的信息:也可以自动获取用户名,只输入评论信息:实现原

    1小时前
    00
  • Fabric8 Kubernetes 教程——PVC、PV、Network、PDB、Role、Cluster

    EndpointSliceEndpointSlice 是 Kubernetes 中用于扩展和优化 Endpoints 功能的一种资源对象。它是对传统 Endpoints 的改进,主要用于更高效地管理和存储服务后端的端点信息。Endpoint

    57分钟前
    00
  • 6类防火墙 3维度选型决策 1文了解

    前言应粉丝需求,本文基于行业实践与技术演进脉络,系统梳理了主流防火墙的‌部署模式‌、‌应用场景‌与‌功能特点‌,通过横向对比揭示其差异化优势:从传统硬件设备的高吞吐能力,到云防火墙的弹性扩展特性;从Web应用防火墙(WAF)的精准协议解析,

    47分钟前
    00
  • 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析

    引言❝小编是一名10年+的.NET Coder,期间也写过Java、Python,从中深刻的认识到了软件开发与语言的无关性。现在小编已经脱离了一线开发岗位,在带领团队的过程中,发现了很多的问题,究其原因,更多的是开发思维的问题。所以小编通过

    29分钟前
    10
  • MySQL MyISAM引擎是什么?有什么致命缺陷?为何现在都不使用了?

    上一篇《MySQL:MyISAM 锁表致千万损失!穿越工程师如何逆天改命》,我发现自己穿越到了 过去,这个年代的 MySQL 居然还在用 MyISAM……次日上午,技术部紧急会议"林工,你说要换引擎就换?"首席 DBA

    19分钟前
    00
  • 从 VFP 的角度看 .NET 中的依赖注入和接口(1)

    学习 X# 的时候,接触到依赖注入和接口的概念。对于 VFP 技术背景的开发人员来说,这些是全新的概念。如果不亲自下手尝试很难理解它们到底是什么意思。这里尝试着从 VFP 的角度来阐述它们的大概意思。在使用 VFP 的过程中,假设你需要创建

    16分钟前
    00
  • 抖音滑动卡顿终极解决方案:从源码逆向推导ViewCacheExtension的3个致命误区

    心里种花,人生才不会荒芜,如果你也想一起成长,请点个关注吧。大家好,我是稳稳,一个曾经励志用技术改变世界,现在为随时失业做准备的中年奶爸程序员,与你分享生活和学习的点滴。感谢默默支持的各位粉丝~有时候对自己而言只是微不足道的一个小动作,可能

    14分钟前
    00

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信