一个有趣的程序---三色球问题
2018-04-04 19:27
246 查看
问题
一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?分析
根据问题描述可设任取的8个球中红球为m个,白球为n个,则黑球为8-m-n个。已知12个球中有3个红球,3个白球,6个黑球,因此,m的取值范围为[0, 3],n的取值范围因此为[0, 3],黑球的个数小于等于6,即 8 - m - n ≤ 6。算法设计
循环结构检测 m、n 范围内的所有可能取值,再代入 8-m-n 中进行验证,能够满足条件 8 - m - n ≤ 6 的那些 m、n 和 8-m-n 的组合即为问题的解。框图
程序
#include<stdio.h> #include<windows.h> int main() { int m = 0;//红球数量 int n = 0;//白球数量 int number = 0;//可能性的次数 printf(" 红球 白球 黑球\n"); printf("\n"); for (m=0; m <= 3; m++) { for (n=0; n <= 3; n++) { if (8 - m - n <= 6) { printf("%2d: %d %d %d\n", ++number, m, n, 8 - m - n); } } } system("pause"); return 0; }
运行结果
相关文章推荐
- 一个有趣的.net程序死锁问题
- 一个非常有趣的算法程序(有趣只针对程序猿)就是Josephus问题
- java程序实现一个有趣的买啤酒问题
- 一个有趣的.net程序死锁问题
- 在自己的WSASOCKET服务端/客户端中做了一个简单的解包程序处理粘包的问题
- C#.NET常见问题(FAQ)-程序如何把窗体文件从从一个项目中复制到另一个项目
- 记录一个问题:win32程序release版本和debug版本运行效果不同
- 连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题:
- 编写一个程序求解字谜游戏问题
- 一个分割文本文件的小程序 - 回复 "jellyang" 的问题
- 平面中能否写下不可数个8?——一个有趣的数学问题
- 一个有趣的Java编译问题
- 安装驱动时“此设备的一个安装程序此时无法执行安装”一系列问题
- 一个wepy开发微信小程序时图片在真机上不显示的问题
- Java新手求助,将两个文件合并为一个文件执行程序是发生的问题
- 发掘一个有趣的问题
- 一个关于andorid程序无法启动的问题
- 一个不懂程序的站长解决技术问题的苦逼经历和感悟
- 在Silverlight程序中使用Thread一个很容易被忽略的问题
- 请教一个程序装入执行的问题!