百鸡百钱问题JAVA 解
百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡, 其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
分析:估计现在小学生都能手工推算这套题,只不过我们用计算机来推算,我们可以设公鸡为x ,母鸡为y ,小鸡为z ,那么我们
可以得出如下的不定方程,
x+y+z=100,
5x+3y+z/3=100,
下面再看看x ,y ,z 的取值范围。
由于只有100文钱,则5x 0
好,我们已经分析清楚了,下面就可以编码了。
package 百钱百鸡问题;
public class Hundred_chickens_money_problem {
public static void main(String[] args) {
// TODO 自动生成的方法存根
arithmetic ();
violence ();
}
/*算法解*/
public static void arithmetic(){
int k,x,y,z;
for (k=1;k
x=4*k;
y=25-7*k;
z=75+3*k;
System. out .println(" 公鸡有:" +x+" 只,母鸡有:" +y+" 只,小鸡有:" +z+" 只。" );
}
}
/*暴力解*/
public static void violence(){
int m,l,n;
for (m=1;m
for (l=1;l
n=100-m-l;
if ((n%3==0)&&(5*m+3*l+n/3==100)){
System. out .println(" 公鸡有:" +m+" 只,母鸡有:" +l+" 只,小鸡有:" +n+" 只。" );
}
}
}
}
}
百鸡百钱问题JAVA 解
百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡, 其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
分析:估计现在小学生都能手工推算这套题,只不过我们用计算机来推算,我们可以设公鸡为x ,母鸡为y ,小鸡为z ,那么我们
可以得出如下的不定方程,
x+y+z=100,
5x+3y+z/3=100,
下面再看看x ,y ,z 的取值范围。
由于只有100文钱,则5x 0
好,我们已经分析清楚了,下面就可以编码了。
package 百钱百鸡问题;
public class Hundred_chickens_money_problem {
public static void main(String[] args) {
// TODO 自动生成的方法存根
arithmetic ();
violence ();
}
/*算法解*/
public static void arithmetic(){
int k,x,y,z;
for (k=1;k
x=4*k;
y=25-7*k;
z=75+3*k;
System. out .println(" 公鸡有:" +x+" 只,母鸡有:" +y+" 只,小鸡有:" +z+" 只。" );
}
}
/*暴力解*/
public static void violence(){
int m,l,n;
for (m=1;m
for (l=1;l
n=100-m-l;
if ((n%3==0)&&(5*m+3*l+n/3==100)){
System. out .println(" 公鸡有:" +m+" 只,母鸡有:" +l+" 只,小鸡有:" +n+" 只。" );
}
}
}
}
}