蓝桥杯 结果填空 欧拉与鸡蛋

大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。

欧拉随便问:“卖了多少鸡蛋呢?”

不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!”

欧拉猜不出。

另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”。

欧拉想了想,说出了正确答案。

 

我们不是数学家,懒得列出公式来分析。但计算机可以“暴力破解”,就是把所有可能情况都试验一遍,撞上为止!

请写出每人鸡蛋的数目(顺序不限),用逗号隔开。

 

答案写在“解答.txt”中,不要写在这里!   

 

参考答案:

70,80 或 80,70


虽然是暴利,但需要稍微处理一下,因为很明显,价格并不是一个整数,是不可枚举的,分析题目,假设那两个人是甲,乙,甲卖的价格为a,卖出x个,乙卖的价格为b,卖出150-x个,从而可以得到:


1.a*x=(150-x)*b

2.(150-x)*a=32

3.x*b=24.5


然后通过2,3式,可以将1中的a,b去掉,从而得到24.5*(150-x)^2/x^2=32,容易知道,鸡蛋的个数肯定是整数,而且是从1到150,可以枚举,注意题目中的两个人并没有严格的区别,所以算出哪个结果都可以。


#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;

int main()
{
	int x;
	for(x=1;x<=150;x++)
	{
		double s=24.5*pow(150-x,2)/pow(x,2);
		if(s==32)
		cout<<x<<endl;
	}
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值