C#鸡兔同笼(一个笼子里面关了鸡和兔子(鸡有2 只脚,兔子有4 只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物? 请用C#语言实现这个计算过程;)

 public static void Problem1(int a)
        {                          
            //假设有i只鸡 ,那么最多有a/2只鸡,对每种情况进行分析
            int maxI = -1;
            int minI = a / 2 + 1;
            for (int i = 0; i <= a / 2; i++)
            {

                if ((a - i * 2) % 4 == 0)//这种情况有i只鸡,((a - i * 2) / 4)只兔子  也就是共有(a/4+i/2)只所以当i最小是总数最小,i最大时总数最大
                {
                    if (i < minI)
                    {
                        minI = i;
                    }
                    if (i > maxI)
                    {
                        maxI = i;
                    }
                }
            }

            if (maxI == -1 && minI == a / 2 + 1)
            {
                Console.WriteLine("脚的总数不合理,这种情况不存在");
            }
            else
            {
                Console.WriteLine("a:" + a);
                Console.WriteLine("min:" + minI + "max:" + maxI);
                Console.WriteLine("至少有" + (a / 4f + minI / 2f) + "只动物,至多有" + (a / 4f + maxI / 2f) + "只动物");//注意此时一定不能忘记加f
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_37896049/article/details/82263304