| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖
标题:控制台程序求助?
只看楼主 加入收藏
木蕊
Rank: 2
等 级:论坛游民
帖 子:32
专家分:26
注 册:2013-6-22
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:5 
控制台程序求助?
编一个程序,从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
搜索更多相关主题的帖子: 控制台 
2013-07-06 23:01
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
你这什么意思任意取8个球,但你又要求必须有白的,你这个3+6>8的你不知道?

慢慢前进走,不求一步登天,只求慢慢前进
2013-07-07 00:00
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:2 
i是白,k是红,j是黑
for(int i = 1; i <= 5; i++)
{
    for(int k = 0; k <=3; k++)
    {   
        if(i + k == 8)
        for(int j = 0; j <= 6; j++)
        {
           if(i + k + j == 8)
        }
    }
}
2013-07-07 00:48
afdoa83
Rank: 4
等 级:业余侠客
威 望:7
帖 子:43
专家分:262
注 册:2012-7-31
收藏
得分:5 
using System;
class Test
{
  static void Main()
  {
    //i取白球 j取红球 k取黑球
    //sum合计
    int sum = 0;
    for (int i = 1; i <= 5; i++)
    {
      for (int j = 0; j <= 3; j++)
      {
        for (int k = 0; k <= 6; k++)
        {
          sum += SUM(i, j, k);
        }
      }
    }
    Console.WriteLine("共{0}个",sum);
  }
  protected static int SUM(int i, int j, int k)
  {
    if (i + j + k == 8)
    {
      Console.WriteLine(i + "+" + j + "+" + k);
      return 1;
    }
    else
    {
      return 0;
    }
  }
}
2013-07-07 07:42
csharpluntan
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:7
帖 子:197
专家分:1122
注 册:2013-4-24
收藏
得分:8 
手工计算得出19种方案,可以和下面的程序比对一下,就会发现其正确性:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace zuhe
{
    class Program
    {
        
        static void Main(string[] args)
        {
            //i取白球 j取红球,k取黑球
            //sum合计
            //count计可能的方案数
            int sum = 0;
            int count = 0;
            Console.WriteLine("从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,所有可能的方案如下:");
            for (int i = 1; i<= 5;i++)
            {
                for (int j = 0; j <= 3; j++)
                {
                    for (int k = 0; k <= 6; k++)
                    {
                        sum = i + j + k;
                        if (sum == 8)//满足必有一个白球,且个数为8的条件时就计数并输出可能方案。
                        {
                           
                            count++;
                            Console.WriteLine("{0}个白球,{1}个红球,{2}个黑球", i, j, k);
                           
                        }
                    }
                }
            }
            Console.WriteLine("总共有{0}种可能方案!", count);
            Console.ReadKey();
        }

    }
}

投之以桃,报之以李
2013-07-07 10:57
木蕊
Rank: 2
等 级:论坛游民
帖 子:32
专家分:26
注 册:2013-6-22
收藏
得分:0 
以下是引用csharpluntan在2013-7-7 10:57:30的发言:

手工计算得出19种方案,可以和下面的程序比对一下,就会发现其正确性:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace zuhe
{
    class Program
    {
        
        static void Main(string[] args)
        {
            //i取白球 j取红球,k取黑球
            //sum合计
            //count计可能的方案数
            int sum = 0;
            int count = 0;
            Console.WriteLine("从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,所有可能的方案如下:");
            for (int i = 1; i<= 5;i++)
            {
                for (int j = 0; j <= 3; j++)
                {
                    for (int k = 0; k <= 6; k++)
                    {
                        sum = i + j + k;
                        if (sum == 8)//满足必有一个白球,且个数为8的条件时就计数并输出可能方案。
                        {
                           
                            count++;
                            Console.WriteLine("{0}个白球,{1}个红球,{2}个黑球", i, j, k);
                           
                        }
                    }
                }
            }
            Console.WriteLine("总共有{0}种可能方案!", count);
            Console.ReadKey();
        }

    }
}
ok ok了  3q3q
2013-07-07 14:59
快速回复:控制台程序求助?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037023 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved