【蓝桥杯】【埃及分数】_c语言古埃及曾经创造出灿烂的人类文明他们的分数表示却很令人不解。古埃及喜欢把-程序员宅基地

技术标签: 分数  有理数  java  蓝桥杯  埃及分数  

题目

古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。

古埃及喜欢把一个分数分解为类似: 1/a + 1/b 的格式。

这里,a 和 b 必须是不同的两个整数,分子必须为 1

比如,2/15 一共有 4 种不同的分解法(姑且称为埃及分解法):

1/8 + 1/120

1/9 + 1/45

1/10 + 1/30

1/12 + 1/20

那么, 2/45 一共有多少个不同的埃及分解呢(满足加法交换律的算同种分解)?

请直接提交该整数(千万不要提交详细的分解式!)。

请严格按照要求,通过浏览器提交答案。

注意:只提交分解的种类数,不要写其它附加内容,比如:说明性的文字

 

 

分析

2/45 = 1/a + 1/b , 假设a<b,很明显22<a<45。因为1/22>2/45,1/45 <= 2/45。

我们用2/45-1/a就可以求出1/b,进而求出b。

 

 

源码

 

public static void main(String[] args) {
		//新建2/45
		Rational r = new Rational(2, 45);
		//计数变量
		int counter = 0;
		for (int a = 23; a < 45; a++) {
			Rational ra = new Rational(1, a);
			Rational rb = r.sub(ra);
			if(rb.x == 1 && rb.y > a) {
				System.out.println(ra.toString() + "+" + rb.toString());
				counter++;
			}
		}
		System.out.println(counter);
	}

 

 

public class Rational {
	int x;
	int y;
	
	public Rational(int x, int y){
		int gcd = gcd(x,y);
		this.x = x/gcd;
		this.y = y/gcd;
	}
	
	//辗转相除法求最大公约数
	//(10,5) == (5,0) == 5
	private int gcd(int x, int y){
		if(y == 0) return x;
		return gcd(y,x%y);
	}
	
	//x1/y1 +x2/y2 == (x1y2+x2y1)/y1y2
	public Rational add(Rational r){
		return new Rational(this.x*r.y + r.x*this.y, this.y*r.y);
	}
	
	//x1/y1 - x2/y2 = (x1y2-x2y1)/y1y2
	public Rational sub(Rational r) {
		return new Rational(this.x*r.y - r.x*this.y, this.y*r.y);
	}
	
	@Override
	public String toString() {
		return this.x +"/" + this.y;
	}

}


结果

 

1/23+1/1035
1/24+1/360
1/25+1/225
1/27+1/135
1/30+1/90
1/35+1/63
1/36+1/60

 

7种

 


 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bear_huangzhen/article/details/78513838

智能推荐

狂神javaweb课程笔记-09-SMBMS(超市管理项目)_狂神smbms-程序员宅基地

文章浏览阅读1.5k次,点赞5次,收藏23次。SMBMS(超市管理项目)数据库:项目如何搭建?考虑是不是用maven? jar包,依赖搭建项目准备工作搭建一个maven web 项目配置Tomcat测试项目是否能够跑起来导入项目中需要的jar包;jsp,Servlet,mysql驱动jstl,stand…构建项目包结构编写实体类ROM映射:表-类映射编写基础公共类1、数据库配置文件(mysql5.xx和8.xx的编写有差异)driver=com.mysql.jdbc.Driver#在和mysql传递数据的过程中_狂神smbms

c++小学生算数练习系统课程设计_c++小学计算题-程序员宅基地

文章浏览阅读1.5k次,点赞7次,收藏37次。c++课程设计入门_c++小学计算题

简单几步完成less的安装及使用_yarn 安装less-程序员宅基地

文章浏览阅读1k次,点赞21次,收藏8次。Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文档(中文版),包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS 样式的 Less.js 工具。(1) style标签,lang=”less” 开启less功能。在上面报错之后,先在终端ctrl+c停掉,然后输入命令等待。如果我们没有安装less直接使用就像下面这样,会报错。Ok,这样就成功了,在终端看已经没有再报错了。_yarn 安装less

基于SSM的养老院系统管理设计与开发-64996,毕业设计 免费领源码,【计算机毕业设计开题选题+程序定制+论文书写+答辩ppt书写 全流程 】-程序员宅基地

文章浏览阅读963次,点赞19次,收藏19次。免费领取项目源码,请关注●点赞收藏并私信博主,谢谢-本设计主要实现集人性化、高效率、便捷等优点于一身的养老院系统,完成老人信息、薪资管理、资产管理、人事考勤、老人管理、费用管理、事故记录、床位类型、入住信息、请假信息、健康监控、资产类型等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上

STM32 cubeMX 呼吸灯实验_stm32cubemx 呼吸灯-程序员宅基地

文章浏览阅读1.3k次,点赞21次,收藏33次。下篇文章为大家介绍 无源蜂鸣器唱歌。_stm32cubemx 呼吸灯

linux下执行sh脚本,提示Command not found_sh: tar: command not found-程序员宅基地

文章浏览阅读5.2k次。记录一下用U盘复制一个xxx.tar.gz解压在U盘中解压 tar zxvf xxx.tar.gzcd xxx执行./xxx.sh提示Command not found把压缩包 cp 到 liunx根目录下执行解压 执行脚本 可以正常运行。..._sh: tar: command not found

随便推点

人工智能、机器学习、数据挖掘-程序员宅基地

文章浏览阅读142次。1、人工智能学习网站http://www.aihorizon.com/essays/generalai/no_free_lunch_machine_learning.htm2、资源网站https://blog.csdn.net/jlsdzhj/article/details/81388461https://blog.csdn.net/u011650143/article/details/7...

学习 PixiJS — 精灵状态_pixi方向-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏6次。精灵状态如果你有复杂的游戏角色或交互式对象,你可能希望该角色根据游戏环境中发生的情况以不同的方式运行。每个单独的行为称为状态。如果你在精灵上定义状态,那么只要游戏中出现与该状态相对应的事件,就可以触发这些状态。比如,通过键盘的方向键控制一个游戏角色时,按下左箭头,角色就向左移动,其实可以理解为,按下左键头时,触发了角色的向左的状态。如果要开始使用精灵状态,首先需要一个状态播放器。状态播放器..._pixi方向

在eclipese+tomcat+servlet的一些重要的小技巧_eclipese 禁止修改代码-程序员宅基地

文章浏览阅读136次。前言上篇教程向演示了在eclipse下怎么关联tomcat来配置Servlet环境, 但是使用过程中,还是会出现一些小问题,在这里,笔者就分享一下一些踩过的坑和相应的解决办法。编码问题导致的中文显示乱码问题笔者先后遇到两次中文显示乱码的问题。第一次是界面中文显示乱码的问题:解决办法,在java源文件代码中加入设置界面字符编码方式,代码如下 request.setCharac..._eclipese 禁止修改代码

赋能零售成长型企业营销增长,云徙「数盈·新营销中台」发布_巨石崩裂时有人看见了恐惧,有人看见了光-程序员宅基地

文章浏览阅读4.1k次。巨石崩裂时,有人看见了恐惧,有人看见了光。因为有光,万物生长。 疫情给每个企业的影响都是巨大的。但在疫情冲击之下,由中台技术推动企业数字化转型,又给企业带来了希望。 从2016年创业至今,云徙科技的每一次亮相,都在自我突破,引领创新,制造惊喜。今天,云徙科技召开「数in未来 一起发光」新品线上发布会,以3D科技秀的方式向企业伙伴及业界朋友正式介绍这款面向成长型企业用户产品「数盈·新营销中台..._巨石崩裂时有人看见了恐惧,有人看见了光

嵌入式期末选择复习题_对于stm32,以下不属于pll的时钟输入源的是( )-程序员宅基地

文章浏览阅读2.6k次,点赞4次,收藏37次。1.下列属于嵌入式处理器的芯片是?A.Intel386处理器B.AMD处理器C.Intel酷睿处理器D.STM32F103VET6正确答案:D2. ​OLED显示模块属于下列哪一种外围电路A.环境感知类B.存储类C.人机交互类D.接口类正确答案:C3.嵌入式系统有别于其他系统的最大特点是A.嵌入专用B.低功耗C.低成本D.高可靠正确答案:A4. 下列哪些是嵌入式系统的基本特点?A.嵌入性B.计算机系统C.低功耗D.专用性正确答案:A、B、D5. 下列哪些产品属于嵌入式系统A.智能手机B.笔记本电脑C.银河系_对于stm32,以下不属于pll的时钟输入源的是( )

Filebeat使用指南-程序员宅基地

文章浏览阅读2k次,点赞64次,收藏52次。Filebeat是使用Golang实现的轻量型日志采集器,也是Elasticsearch stack的一员。它可以作为一个agent安装在各个节点上,根据配置读取对应位置的日志,并上报到相应的地方去。Filebeat的可靠性很强,可以保证日志至少一次的上报,同时也考虑了日志搜集中的各类问题,例如日志断点续读、文件名更改、日志截断等。Filebeat并不依赖于Elasticsearch,可以单独存在。_filebeat

推荐文章

热门文章

相关标签