趣味方程之百鸡百钱

大家想必都知道这个问题,问题在这里就不描述了。直接分析:

如果用数学的思想来解决这个问题,设公鸡x只,母鸡y只,小鸡z只。

5*x+3*y+z/3 = 100

x+y+z=100

但看这个方程有无数的解,其实里面隐藏着一个x,y,z都是正整数,因此解决这个方法用穷举。

确定程序的框架:

我们编写一个方法用于计算m钱买n鸡问题

package 百钱百鸡;

public class Main {

    public static void main(String[] args) {
        int m,n;
        m = 100;
        n = 100;
        //调用解决的方法
        BQBJ(m,n);
    }

}
//通过循环嵌套的方式实现,穷举的范围最简单的划分为:0<=x<=n;0<=y<=n;0<=z<=n;
        int x,y,z;
        for(x = 0;x<=n;x++)
        {
            for(y=0;y<=n;y++)
            {
                z = n-x-y;
                if(z>0 && z%3==0 && x*5+y*3+z/3 == m){
                    System.out.println(x+"--"+y+"--"+z);
                }else{
                    ;
                }
            }
        }

    }
时间: 2024-10-26 01:53:40

趣味方程之百鸡百钱的相关文章

百鸡百钱解题报告

百鸡百钱问题来源:中国古代数学家张丘建在他的<算经>中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁.母.雏各几何? 解题思路: 设鸡翁.鸡母.鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,x的取值范围:0<=x<20:同理,y的取值范围:0<=y<33之间,可得到下面的不定方程: 5x+3y+z/3=100x+y+z=100所以此问题可归结为求这个不定方程的整数解.百度上貌似代码中x的

百鸡百钱问题解答

转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/44084963 http://www.llwjy.com/blogd.php?id=f6c0ce9433483f0ee178e15ac5d2ff6a 个人的博客小站也搭建成功,网址:www.llwjy.com ,欢迎大家来吐槽~ 一个很有趣的数学问题"百鸡百钱",该问题出自我国古代数学家张丘建<算经>,其中是这样描述的"鸡翁一值钱五,鸡母一值钱三,

百鸡百钱while做法

//百鸡百钱 公鸡2文,母鸡1文,小鸡0.5文 int count = 0; int gong = 0; while (gong<=50) { int mu = 0; while(mu<=100) { int xiao = 0; while(xiao<=200) { if(gong+mu+xiao==100&&2*gong+mu+0.5*xiao==100) { count++; Console.WriteLine("第"+count+"种组

百鸡百钱

//百鸡百钱 ,公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只 //共有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱 int count = 0; int bian = 0; for (int gong = 0; gong <= 50;gong++ ) { for (int mu = 0; mu <= 100;mu++ ) { for (int xiao = 0; xiao <= 200;xiao++ ) { bian++; if(gong+mu+xiao==100&

for循环语句之棋盘放粮食、百鸡百钱、纸张的折叠问题

1.棋盘放粮食 int lszl = 1; for (int i = 1; i < 30; i++) { int x = 1; for (int j = 1; j <= i; j++) { x = x * 2; } lszl = lszl + x; } double zl = lszl * 0.001; Console.WriteLine("放满整个棋盘所需要:" + zl + "kg的粮食"); 2.百鸡百钱 for (int i = 1; i <

1. while循环(当循环) 2. do{}while()循环 3. switch cose(多选一) 例子:当选循环下求百鸡百钱 用 switch cose人机剪刀石头布

1. while循环: 当选循环下求百鸡百钱:如下: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><me

百鸡白钱

package jt15006.u1_1.ch3; public class Baijibaiqian { public static void main(String[] args) { /* * 百鸡百钱 * 公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱, * 如果用100文钱买100只鸡, 那么公鸡.母鸡和小鸡各应该有多少只 */ int money = 100; int count = 100; // i为公鸡数量 for (int i = 0; i <= count; i++) {

百鸡百钱问题

描述    我国古代数学家张丘建在<算经>一书中提出的数学问题:        鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一.        百钱买百鸡,问鸡翁.鸡母.鸡雏各几何?    输入        输出    鸡翁数量    鸡母数量    鸡雏数量 public class Main {     public static void main(String[] args){                  for (int i = 1; i <= 20; i++) {     

C#趣味程序---百鸡百钱

问题:公鸡一只5元,母鸡一只3元,小鸡三只1元,问100元可以买多少只鸡? using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int z, i=0; for (int x = 0; x < 20; x++) for (int y = 0; y < 33; y++) { z = 100 - x - y; if (5 * x + 3 * y + z / 3