用999元钱买得梨和苹果共1000个,梨11元买9个,苹果4元买7个。问梨和苹果各几个,各付多少钱
望采纳
//用999元钱买得梨和苹果共1000个,梨11元买9个,苹果4元买7个。问梨和苹果各几个,各付多少钱
double pear = 11; //梨的价格,梨11元买9个
int pear_num = 0; //买梨次数
double apple = 4; //苹果的价格,苹果4元买7个
int apple_num = 0; //买苹果次数
double money = 999; //总共999元
double surplus = 0; //买梨剩下的钱
double surplus2 = 0; //买苹果剩下的钱
pear_num = (int) (money / pear); //最多可以买多少次梨,一次9个
while (true) {
surplus = money - (pear_num * pear); //买完梨后,剩下多少钱 求出 surplus: 买梨剩下的钱
surplus2 = surplus % apple; //用剩余的钱买苹果,求出 surplus2 :买苹果剩下的钱
if (surplus2 != 0) { //买完梨和苹果后 剩余的钱 != 0
-- pear_num; //钱没花完就少买一次梨
}else { //买完梨和 苹果后 剩余的钱 == 0
apple_num = (int) (surplus / apple); //用买梨剩下的钱买苹果
if ((9*pear_num)+(7*apple_num) == 1000){ //苹果+梨有一千个
//买了多少个梨:pear_num*9(次数*数量),花了:pear_num*pear(次数*价格)
//买了多少个苹果:apple_num*7(次数*数量),花了:apple_num*apple(次数*价格)
System.out.println("梨有:" + pear_num*9 + "个花了"+pear_num*pear+"元,苹果有:" + apple_num*7+"个花了"+apple_num*apple+"元");
break; //钱花完了,数量也够了,结束循环
}else {
-- pear_num; //数量不够就少买一次梨
}
}
}
答案:梨买了657个,苹果买了343个.
难道是传说中的二元一次方程组求解
//简单算法
int x, y;
for (x = 0; x <= 1000; x += 9) {
y = 1000 - x;
if ((11 * x / 9) + (4000 - 4 * x) / 7 == 999) {
System.out.println("梨子数量为:" + x + "苹果数量为:" + y);
System.out.println("梨子总额为:" + x / 9 * 11 + "苹果数量为:" + y / 7 * 4);
}
}
结果:
梨子数量为:657苹果数量为:343
梨子总额为:803苹果数量为:196
public static void main(String[] args) {
double money = 999;//总金额
double appleNum = 1000;//总数量
double pair = 0;
double apple = 0;
String result = "";
for (int i = 9 ;i <= 1000;i +=9 ){//i+=9 :9个梨子一起买
if((11*i/9) + (appleNum-i)/7 * 4 == money){
pair = i;
apple = 1000-i;
result = result + "苹果:"+apple+",梨:"+pair+";";
}
}
System.out.println(result);
}