C语言练习(蓝桥杯)----欧拉与鸡蛋

 

题目:大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。 她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。 欧拉随便问:“卖了多少鸡蛋呢?” 不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少, 但刚好得了同样的钱数。你猜猜看!” 欧拉猜不出。 另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的价格卖,可以得到24.5元”。 欧拉想了想,说出了正确答案。

利用C语言编程“暴力求解”如下:

#include<stdio.h>

#define EPS 0.000001
void Func()
{
    int x = 0;    // 定义两个人的鸡蛋 x, y 
    int y = 0;
    for (int i = 1; i < 150; i++) 
    {
        x = i;      
        y = 150 - i;

        double price_X = 24.5 / y; // 得到 x的单价   
        double price_Y = 32.0 / x; // 得到 y的单价   

        double money_X = price_X * x; // x卖的总钱总   
        double money_Y = price_Y * y; // y卖的总钱总   

        if (-EPS < (money_X - money_Y) && (money_X - money_Y) < EPS) // 浮点数相等比较   
        {   
            printf("%d ,%d", x, y);
            break;
        }
    }
   
}
int main()
{
    Func();
	return 0;
}

结果为: 

C语言练习(蓝桥杯)----欧拉与鸡蛋

 

上一篇:Java基础语法之类型转换


下一篇:未来已来 -只是尚未流行