算法_数学问题_Question4_三色球(java实现)

这篇文章讲述的是算法初级部分的三色球问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。

问题描述

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

算法分析

这是一个穷举法的例子假设任取的8个球中红球个数为red个,白球个数white个,则黑球个数black=8-red-white个,取值范围为:
red:0~3
white:0~3
black<=6

代码实现

package mathematics;

public class Q4_ThreeColorBalls {
    /**
     * 问题分析:一个口袋放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任意
     *          取8个,问一共有多少种可能的颜色搭配?
     * 
     * 算法分析:又是一个穷举法的例子假设任取的8个球中红球个数为red个,白球个数white个,
     *          则黑球个数black=8-red-white个,取值范围为:
     *                                                  red:0~3
     *                                                  white:0~3
     *                                                  black<=6
     * 
     */
    public static void main(String[] args) {
        int red , white , black ;   
        for(red=0 ; red<=3 ; red++)                 //红球:0~3
            for(white=0 ; white<=3 ; white++){      //白球:0~3
                black = 8-red-white ;               //黑球小于等于6
                if(black <= 6){
                    System.out.println("红球:"+red+" 个,白球"+white+"个,黑球:"+black+"个");
                }
            }
    }
}

样例输出

红球:0 个,白球2个,黑球:6个
红球:0 个,白球3个,黑球:5个
红球:1 个,白球1个,黑球:6个
红球:1 个,白球2个,黑球:5个
红球:1 个,白球3个,黑球:4个
红球:2 个,白球0个,黑球:6个
红球:2 个,白球1个,黑球:5个
红球:2 个,白球2个,黑球:4个
红球:2 个,白球3个,黑球:3个
红球:3 个,白球0个,黑球:5个
红球:3 个,白球1个,黑球:4个
红球:3 个,白球2个,黑球:3个
红球:3 个,白球3个,黑球:2个
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值