大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。
欧拉随便问:“卖了多少鸡蛋呢?”
不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!”
欧拉猜不出。
另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”。
欧拉想了想,说出了正确答案。
我们不是数学家,懒得列出公式来分析。但计算机可以“暴力破解”,就是把所有可能情况都试验一遍,撞上为止!
请写出每人鸡蛋的数目(顺序不限)。
答案
80 70
解题过程
这题一开始对“按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”这句话没理解对。她是说我的鸡蛋按对方价格卖,总共能得32元。(一开始认为是前后两次的差价,出题人真是个坏银!)。这样就明确32=鸡蛋数*鸡蛋价格。
需要注意的是,(x/y)*24.5==(y/x)*32的判别式有可能因为24.5这个浮点数转Int时导致数据丢失,所以最好在草稿纸上对等式进行化简。这里我化简为:x*x*245==y*y*320。
附上代码
#include<iostream>
using namespace std;
int main()
{
int x,y;
int x_price,y_price;
for(x=1;x<=150;x++)
{
y=150-x;
if(x*x*245==y*y*320)
cout<<x<<" "<<y<<endl;
}
return 0;
}