蓝桥杯13-20届真题解析(Java 大学 B 组)2013年省赛真题5_有理数类

  • 一、有理数类[代码填空]
    • 1.题目描述
    • 2.简要分析
    • 3.代码实现
    • 4.答案

一、有理数类[代码填空]

1.题目描述

有理数就是可以表示为两个整数的比值的数字。一般情况下,我们用近似的小数表示。但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。

这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。为了简明,它只提供了加法和乘法运算。


class Rational
{private long ra;private long rb;private long gcd(long a, long b){if(b==0) return a;return gcd(b,a%b);}public Rational(long a, long b){ra = a;rb = b;long k = gcd(ra,rb);if(k>1){ //需要约分ra /= k;rb /= k;}}// 加法public Rational add(Rational x){return ________________________________________;  //填空位置}// 乘法public Rational mul(Rational x){return new Rational(ra*x.ra, rb*x.rb);}public String toString(){if(rb==1) return "" + ra;return ra + "/" + rb;}
}

使用该类的示例:

   Rational a = new Rational(1,3);Rational b = new Rational(1,6);Rational c = a.add(b);System.out.println(a + "+" + b + "=" + c);

请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文>字!!

2.简要分析

  • 读题,大致意思是:补全有理数加法的那段代码。
  • 通过分析给出的乘法代码可以发现,Rational类的构造器中,已经实现了 有 理数约分的功能。
  • 那么我们自己写的加法代码中,就只要按照我们正常计算有理数加法一样 >- 去模拟就行了。
  • 新的分母是两个分母的乘积。
  • 新的分子是a分子乘b分母+b分子乘a分母。
  • 这个题应该算是非常简单的一道题了。

3.代码实现

public class _05有理数类_代码填空 {public static void main(String[] args) {Rational a = new Rational(1,3);Rational b = new Rational(1,6);Rational c = a.add(b);System.out.println(a + "+" + b + "=" + c);}static class Rational {private long ra;private long rb;private long gcd(long a, long b) {if (b == 0) return a;return gcd(b, a % b);}public Rational(long a, long b) {ra = a;rb = b;long k = gcd(ra, rb);if (k > 1) { //需要约分//ra /= k;rb /= k;}}// 加法public Rational add(Rational x) {return new Rational(this.ra * x.rb + x.ra * this.rb, this.rb * x.rb);  //填空位置}// 乘法public Rational mul(Rational x) {return new Rational(ra * x.ra, rb * x.rb);}public String toString() {if (rb == 1) return "" + ra;return ra + "/" + rb;}}}

运行结果:

4.答案

new Rational(this.ra * x.rb + x.ra * this.rb, this.rb * x.rb)

蓝桥杯13-20届真题答案解析(Java 大学 B 组)2013年省赛真题5_有理数类相关推荐

  1. 第十一届蓝桥杯 2020年国赛真题及解析 (Java 大学B组)

    第十一届蓝桥杯 2020年国赛真题 Java 大学B组 A 美丽的 2 B 扩散 C 阶乘约数 D 本质上升序列 E 玩具蛇 F 蓝肽子序列 ​G 皮亚诺曲线距离 H 画廊 I 补给 J 质数行者 所 ...

  2. 蓝桥杯13-20届真题答案和解析(Java 大学 B 组)2013年省赛真题3_振兴中华

    蓝桥杯13-20届真题解析(Java 大学 B 组)2013年省赛真题3_振兴中华 一.振兴中华[填空] 1.题目描述 2.简要分析 3.代码实现(递归) 4.答案 一.振兴中华[填空] 1.题目描述 ...

  3. 第九届蓝桥杯JavaA组(2018年)省赛真题解析

    第九届蓝桥杯JavaA组(2018年)省赛真题解析 1.分数 1/1+1/2+1/4+1/8+1/16+- 每项是前一项的一半,如果一共有20项,求这个和是多少 结果用分数表示,类似: 3/2,当然这 ...

  4. 第十三届蓝桥杯 2022年省赛真题(Java 大学C组)

    蓝桥杯 2022年省赛真题(Java 大学C组) 目录 试题 A: 排列字母 试题 B: 特殊时间 试题 C: 纸张尺寸 试题 D: 求和 试题 E: 矩形拼接 试题 F: 选数异或 试题 G: GC ...

  5. 第七届蓝桥杯 2016年省赛真题(Java 大学C组)

    蓝桥杯 2016年省赛真题(Java 大学C组) 第一题:有奖猜谜 第二题:煤球数目 第三题:平方怪圈 第四题:骰子游戏 第五题:分小组 第六题:凑算式 第七题:搭积木 第八题:冰雹数 第九题:四平方 ...

  6. 蓝桥杯第六届决赛真题大全解(java版本)

    文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 >蓝桥杯第六届决赛第一题[(详情(分机号))](http://blog.csdn.net ...

  7. 蓝桥杯第七届决赛真题大全题解(java版本)

    文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 >蓝桥杯第七届决赛第一题[(详情(愤怒小鸟))](http://blog.csdn.ne ...

  8. 第十二届蓝桥杯 2021年省赛真题 (Java 大学B组) 第一场

    蓝桥杯 2021年省赛真题 (Java 大学B组 ) #A ASC #B 卡片 朴素解法 弯道超车 #C 直线 直线方程集合 分式消除误差 平面几何 #D 货物摆放 暴力搜索 缩放质因子 #E 路径 ...

  9. 第十二届蓝桥杯 2021年省赛真题 (Java 大学A组) 第一场

    蓝桥杯 2021年省赛真题 (Java 大学A组 ) #A 相乘 朴素解法 同余方程 #B 直线 直线方程集合 分式消除误差 平面几何 #C 货物摆放 暴力搜索 缩放质因子 #D 路径 搜索 单源最短 ...

  10. 蓝桥杯 2018年省赛真题 (Java 大学C组)

    蓝桥杯 2018 年省赛真题(Java 大学 C 组 ) #1 哪天返回 #2 猴子分香蕉 #3 字母阵列 #4 第几个幸运数 #5 书号验证 #6 打印大X #7 缩位求和 #8 等腰三角形 #9 ...

最新文章

  1. [T-ARA][HUE]
  2. 9.任务段(TSS)
  3. Lakehouse 架构解析与云上实践
  4. Python编程的Turtle 库画出“精美碎花小清新风格树”,速取代码!
  5. 视频:如何把应用通过vmc部署到cloud foundry上
  6. Spoon新建repository的时候
  7. 对话框式activity
  8. ue4蓝图运行顺序_学习UE4,先学蓝图还是c++_资源库
  9. www.sohu.com/a/162498139_165716
  10. 【转载】社会网络中心性度量
  11. 直流屏电源模块GF22007-2高频充电模块R22007
  12. linux运行igv报错,远程linux IGV桌面显示(putty+xming+xmanager)-Go语言中文社区
  13. 《腾讯之道》读书笔记
  14. 蓝宇数码冲刺深交所:年营收2.72亿 郭振荣控制45%股权
  15. C++常见排序算法——选择排序算法
  16. 超超超详细-实现一个简单的基于 React Fiber 的 React
  17. c语言文件读取与写入
  18. flush privileges作用
  19. d313(d3131)
  20. 2022年全球与中国非定向信标市场现状与未来发展趋势分析

热门文章

  1. Codejock Toolkit工具包专业版
  2. cad四级计算机考试,国家CAD等级考试(AutoCAD_II).doc
  3. zul使用java_java – 从Jar加载ZUL
  4. 电子游戏理论基础初探
  5. java 省份城市_如何用Java输入一个省份,然后列出这个省份所有城市的名字?
  6. 文件上传之IIS6.0解析漏洞
  7. Java使用poi导出Excel之格式设置
  8. Java快逸报表展现demo_快逸报表导出成XML文件
  9. un-app网易云歌词滚动功能
  10. 《R语言初学指南》一1.2 向量