用JAVA编程算出《张丘建算经》中的一道百鸡问题

用JAVA编程算出《张丘建算经》中的一道百鸡问题,第1张

写任何程序之前先分析问题。这道题根据题意可列出以下方程:

a + b + c = 100

5a + 3b + c/3 = 100

两方程联立消去c可得到:14a + 8b = 200

也就是说这道题求的是满足 14a + 8b = 200 这个方程的整数解,即 (200 - 14 * a) % 8 == 0

demo(仅供参考):

public static void 绝袜main(String[] args) {

    // a,b,c分别是公鸡母鸡小鸡的数量

    int a, b, c

    String format = "公鸡%d只,母鸡%d只,小鸡%d只%n"

    for (int i = 0, max = 200 / 14 + 1 i < max i++) {

        if ((200 - 14 * i) % 8 == 0) {

           并袭激 a = i

            b = (200 - 14 * a) / 8

            c = 100 - a - b

            System.out.format(format, a, b, c)

        }

    }

}

输出结果:

公鸡0只,母鸡25只,小鸡75只

公鸡4只,母鸡18只,小鸡78只

公鸡8只,母鸡禅毁11只,小鸡81只

公鸡12只,母鸡4只,小鸡84只

百钱买百鸡问题的Java程序如下

public class chick {

  public static void main(String[] args) {

   int i//母鸡

   int j//公鸡

   int k//小鸡

  雹如 int num = 0//一共有几种  

   for(i=0i<=100/5i++)

   {

    for(j=0j<=100/3j++)

    {

     for(k=0k<=100k=k+3)

     {

      if(i+j+k == 100 && ((5*i+3*j+k/3) == 100))

      {

 如肆斗      num++

       System.out.println("第"+num+"种情况")

       System.out.println("母鸡数"+i+"  "+"公鸡数"+j+"  "+"小鸡数"+k)

      }        

     }    

    }     

   }   

  }

}

运行结果

第1种情况

母鸡数0  公鸡数25  小鸡数75

第2种情况

母鸡数4  公鸡数18  小鸡数78

第3种情况

母鸡数8  公鸡数11  小鸡数81

第4种情况

母鸡数12  公鸡数4  小鸡数渣磨84

public class kehou {

public static void main(String[] args) {

for(int i=0i<20i++){

for(int j=0j<33j++){

for(int k=0k<100k++){

if(5*i+3*j+k/3==100&&i+j+k==100){

System.out.println("公简郑鸡数有拦颂颂樱链:"+i+" 母鸡数有:"+j+" 雏鸡数有:"+k)

}

}

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12446551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存