马克思手稿中趣味数学题:一共30人,可能有男人,女人,小孩,吃饭一共花了50先令,每个男人花3先令,每个女人花2先令,每个小孩花1先令,求男人,女人,小孩各几人
此题涉及到三个未知数,我们可以假设其中一个未知数的值来缩小其他两个未知数的范围,也可求除公式:
思路如下(不用写入主代码):
if(x==0) {
x=0;
y=sum02-sum01-2*x;
z=sum02-sum01*2+x;
}else if(x==1){
x=1;
y=sum02-sum01-2*x;
z=sum01*2-sum02+x;
}else if(x==2) {
x=2;
y=sum02-sum01-2*x;
z=sum01*2-sum02+x;
}else if(x==3) {
x=3;
y=sum02-sum01-2*x;
z=z=sum01*2-sum02+x;
}
//由此可见,x可以循环取值<30即可
y=sum02-sum01-2*x;
z=z=sum01*2-sum02+x;
重点到了
Scanner sc=new Scanner(System.in);
int y;//女人的人数
int z;//孩子的人数
System.out.println("请输入总人数");
int sum01=sc.nextInt();//总人数
System.out.println("输入总消费金额");
int sum02=sc.nextInt();//总消费金额
System.out.println("方法 男人的人数 女人的人数 孩子的人数");
for(int x=0;x<=30;x++) { //用男人的值来循环
y=sum02-sum01-2*x;
z=sum01*2-sum02+x;
if(y<0||z<0) {
break;
} else {
System.out.println(x+"\t"+x+"\t"+y+"\t"+z);
}
}
同理,根据动物的脚数与头数来求四只脚的动物和两只脚的动物也可以使用类似的处理,
而且更简单,只涉及到2个未知数