【例10-10】有苹果、橘子、香蕉、菠萝、梨这5种水果,已知每个果盘中一定有3种水果,并且3种水果的种类各不相同。编程计算可以制作出多少种水果拼盘。
【分析】
本题最容易最直观的解法就是使用穷举法。如果用3种变量x、y、z表示每一种果盘中的3种水果,用常量1~5分别表示拼过、橘子、香蕉、菠萝、梨这5种水果,将1~5分别复制给变量x、y、z,每一种赋值表示一种装盘方法,那么不难想象共有5exp3(5的3次方)种装盘方案。这5exp3种装盘方案构成了本题的解空间。但是5exp3种方案并不全是答案,因为题目要求每个果盘中3种水果的种类各不相同,因此需要添加约束条件x!=y!=z。这样就很容易得到解决本题的算法。
fruitPlate()
{
int x,y,z,count=0;
for(x=1;x<=5;x++)
for(y=1;y<=5;y++)
for(z=1;z<=5;z++)
{
if(x!=y && y!=z && x!=z)