2012 蓝桥杯【初赛试题】卖鸡蛋
题目描述:
大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。
欧拉随便问:“卖了多少鸡蛋呢?”
不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!”
欧拉猜不出。
另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”。
欧拉想了想,说出了正确答案。
我们不是数学家,懒得列出公式来分析。但计算机可以“暴力破解”,就是把所有可能情况都试验一遍,撞上为止!
请写出每人鸡蛋的数目(顺序不限),用逗号隔开。
答案写在“解答.txt”中,不要写在这里!
问题分析:
两个农夫的鸡蛋数量为x和y,卖出的价格分别是p1和p2,则由题目得到以下信息:
x*p1 = y*p2
x*p2 = 32
y*p1 = 24.5
合并以上三个等式得到:x*(24.5/y) = y*(32/x)
程序代码:
#include<iostream> using namespace std; int main() { int x,y; double p1,p2; for(x=1;x<150;x++) { y = 150 - x; if(x*(24.5/y) == y*(32.0/x)) cout<<x<<","<<y<<endl; } return 0; }
输出结果:80,70