问题
一个口袋中放有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。
能够满足条件 8 - m - n ≤ 6 的那些 m、n 和 8-m-n 的组合即为问题的解。
number = number +1
输出 number
#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;
}