‘壹’ 怎么用java编写一个程序,计算出百钱买百鸡一共有几种方案
/*条件:
*公鸡一只5钱,
*母鸡一只3钱,
*小鸡1钱3只
*/
publicclassTest2
{
publicstaticvoidmain(Stringargs[])
{
intx,y,z;//x代表公鸡的数目,y代表母鸡的数目,z代表小鸡的数目
for(x=1;x<20;x++){//因为只有100钱,最多只能买20只公鸡,但是全买公鸡就达不到100只
for(y=1;y<33;y++){//因为只有100钱,最多只能买33只公鸡,但是全买母鸡就达不到100只
if(x*5+y*3<=100){//x*5+y*3等于买公鸡和母鸡所发费的钱不能超过100钱
z=3*(100-(x*5+y*3));//除掉买公鸡、母鸡的钱剩下来的就是买小鸡的钱,
//买小鸡的数目等于买小鸡的钱乘以3
if(x+y+z==100){//所有的鸡的数目加起来必须等于100只
System.out.print("公鸡、母鸡、小鸡数目分别是:"+x);
System.out.print(""+y);
System.out.println(""+z);
}
}
}
}
}
}
//我已经运行出来了,还附上了运行出来结果截图,并进行注释,请给我加分啊!
‘贰’ 在java中怎样用“百钱买百鸡(公鸡5元,母鸡3元,小鸡1元3只)”编写它有哪几种可能性
public static void main(String[] args) {
int total=100;// 一共100钱
int gong, mu, xiao;// 公鸡母鸡小鸡初始
for(gong=0; gong <= 20; gong++) {
total=100 - gong * 5;
for(mu=0; mu <= total / 3; mu++) {
total=total - mu * 3;
for(xiao=0; xiao <= 3 * total; xiao+=3) {
int i=xiao / 3;
if(total - i == 0) {
System.out.println("公鸡:" + gong + "只;母鸡" + mu + "只;小鸡:" + xiao);
}
}
}
}
}
‘叁’ 用JAVA编程算出《张丘建算经》中的一道百鸡问题
写任何程序之前先分析问题。这道题根据题意可列出以下方程:
a + b + c = 100
5a + 3b + c/3 = 100
两方程联立消去c可得到:14a + 8b = 200
也就是说这道题求的是满足 14a + 8b = 200 这个方程的整数解,即 (200 - 14 * a) % 8 == 0
demo(仅供参考):
publicstaticvoidmain(String[]args){
//a,b,c分别是公鸡、母鸡、小鸡的数量
inta,b,c;
Stringformat="公鸡%d只,母鸡%d只,小鸡%d只%n";
for(inti=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只