1. 程式人生 > >C#雞兔同籠(一個籠子裡面關了雞和兔子(雞有2 只腳,兔子有4 只腳,沒有例外)。已經知道了籠子裡面腳的總數a,問籠子裡面至少有多少隻動物,至多有多少隻動物? 請用C#語言實現這個計算過程;)

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
            }
        }