栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

试题 算法训练 欧拉的鸡蛋 java 题解 865

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

试题 算法训练 欧拉的鸡蛋 java 题解 865

问题描述

  大数学家欧拉在集市上遇到了本村的两个农妇每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。
  欧拉随便问:“卖了多少鸡蛋呢?”
  不料一个说:“我们两人自己卖自己的一共卖了150个鸡蛋.虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看.”
  欧拉猜不出。另一个补充道:“如果我按她那样的价格卖可以得到32元,如果她按我的价格卖可以得到24.5元”。
  欧拉想了想说出了正确答案。
  我们不是数学家懒得列出公式来分析。但计算机可以“暴力破解”
  就是把所有可能情况都试验一遍
  撞上为止请写出每人鸡蛋的数目顺序不限

输出格式

  输出两行,第一行为第一次说话的那个人卖出的鸡蛋数。第二行为第二次说话的人卖出的鸡蛋数。

解题思路:

最后直接输出两个人的鸡蛋数量,的一个人的鸡蛋数量在76~149之间,第二个人的鸡蛋数量在1~74之间。两人的卖出的单价也未知,总共四个未知量,第一个人的鸡蛋数量为x,单价为m,第二个人分别为y,n。正好存在四个方程:

  • x * n = 32
  • y * m = 24.5
  • x * m = y * n
  • x + y = 150

由于m和n为未知数,可以将其消去,得:x² * 24.5 = (150 - x)² *32,再枚举76 ~149之间的鸡蛋,当符合条件时,输出x和y。

java代码:
public class Main {
	public static void main(String[] args) {
		for(int i = 75;i < 150;i++) {
			if(i * i * 24.5 == (150 - i) * (150 - i) * 32) {
				System.out.println(150 - i);
				System.out.println(i);
				break;
			}
		}
	}
}
提交截图:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357865.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号