求教见图,,,,,,,,

解决方案 »

  1.   


    单买公鸡最多50只。买了i只母鸡后, 公鸡最多只能买50-1.5i只。最快的算法应该是:设母鸡、公鸡、小鸡分别为 i,j,k 只
    则:
      i +  j +      k=100      -------- ①
    3i + 2j + 0.5k=100     -------- ②
    ②式 * 2 - ①式:5i + 3j = 100 ------ ③
    从③式可知,i = 20 - 3j/5
    要保证 i, j 正整数,所以
    j 必须是 5 的倍数(保证能整除)。
    从③式可知 j = 33 + (1 - 5i) / 3
    i 的最小值 = 2 (保证 (1 - 5i) / 3 是整数)
    j 的最大值为 30 ( i = 2 )所以最快的算法应该是:
    for j = 0 to 30 step 5
    {
       i = 20 - (3*j div 5)
       k = 100 - i - j
       print i , j , k
    }
    end