一只公鸡值5元,一只母鸡值3元,3只小鸡值1元,现用一百元要买一百只鸡,  问有什么方案?
用C#完整的编写出来

解决方案 »

  1.   

    {
      int hen,cock,chicken;//定义三个变量表示三种鸡的只数
        for(cock=0;cock<20;cock++)//因为100元最多买20只公鸡
        {
            for(hen=0;hen<33;hen++)//因为100元最多买33只公鸡
               {
                    chicken=100-cock-hen;
                      if(cock*5+hen*3+chicken/3==100)&&(cock+hen+chicken)
                         {
                            return;
                           }
                }
          }
      }
    考虑到算法优化,本程序家耍使用二重循环,而且最外层循环应选择循环次数最少的,如有错误请批评!
      

  2.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int hen, cock, chicken;
                for (cock = 0; cock < 20; cock++)
                {
                    for (hen = 0; hen < 33; hen++)
                    {
                        chicken = 100 - cock - hen;
                        if (cock * 5 + hen * 3 + chicken / 3 == 100)               
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
            }
        }
    }
    来晚了。VS.NET2005写的,望楼主笑纳。
      

  3.   

    int hen,cock,chicken;//定义三个变量表示三种鸡的只数
    for(cock=0;cock<20;cock++)//因为100元最多买20只公鸡
    {
    for(hen=0;hen<33;hen++)//因为100元最多买33只公鸡
    {
       chicken=100-cock-hen;
       if(cock*5+hen*3+chicken/3==100)
    {
    Console.WriteLine("hen="+hen.ToString()); 
    }
    }break;
    }
    Console.Read();
    由一楼的改的
      

  4.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
            }
        }
    }
    sorry,刚才的错了。因为有了大于20的情况。
    答案应为:
    12--4--84
    8--11--81
    4--18--78
      

  5.   

    呵呵,很不好意思,谢谢楼上( yitiaoming2003(小钱) )提出错误!
      

  6.   

    先建立数学模型:
    5a+3b+c/3=100
    c为3的倍数然后就是求解了
      

  7.   

    int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
      

  8.   

    int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
      

  9.   

    Dim a, b, c As Integer
            For a = 0 To 20
                For b = 0 To 100 - 5 * a
                    If ((100 - 5 * a - 2 * b) Mod 3) = 0 And (100 - 5 * a - 2 * b) > 0 Then
                        ListBox1.Items.Add(a & "," & b & "," & 100 - 5 * a - 2 * b)
                    End If
                Next
            Next
    VB的算法,第二层循环还可以优化
      

  10.   

    int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
    int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
    int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }
    int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }int hen, cock, chicken;
                for (cock = 0; cock <= 20; cock++)
                {
                    for (hen = 0; hen <= 33; hen++)
                    {
                        chicken = (100 - hen * 5 - cock * 3) * 3;
                        if (hen + cock + chicken == 100)
                            Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
                    }
                }