本文主要是介绍蓝桥杯 欧拉和鸡蛋,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。
欧拉随便问:“卖了多少鸡蛋呢?”
不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!”
欧拉猜不出。
另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”。
欧拉想了想,说出了正确答案。
我们不是数学家,懒得列出公式来分析。但计算机可以“暴力破解”,就是把所有可能情况都试验一遍,撞上为止!
请写出每人鸡蛋的数目(顺序不限),用逗号隔开。
答案写在“解答.txt”中,不要写在这里!
解析:
首先,分析题目,提取有关信息,
1.X,Y两人一共买了150个鸡蛋。
2.两人所卖的金钱总和是相同的。
3.X按Y的价钱卖可得32元,Y按X的价钱卖可得24.5元
由此,可以得出以下二元方程式:
a.x+y=150
b.ax=by
c.bx=32,ay=24.5 => b=32/x,a=24.5/y 提取x,y舍弃无关变量
综上所述,将c式代入b中,有
24.5/y * x = 32/x *y => x * x * 24.5 = y * y *32
将 x + y =150代入上式,得到
x=80,y=70
#include <stdio.h>int main(void){int x,y;for(x=1;x<150;x++){for(y=1;y<150;y++){if(x * x * 24.5 == y * y *32){if(x+y==150){printf("%d %d\n",x,y);}}}}return 0;}
这篇关于蓝桥杯 欧拉和鸡蛋的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!