蓝桥杯乘法运算java,第四届蓝桥杯Java B——有理数类
有理数就是可以表示为两个整数的比值的数字。一般情况下,我们用近似的小数表示。但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。
这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。为了简明,它只提供了加法和乘法运算。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);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(ra * x.rb + x.ra * rb, 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;
}
}
public class Main {
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);
}
}
蓝桥杯乘法运算java,第四届蓝桥杯Java B——有理数类相关推荐
- 2013第四届蓝桥杯Java组省赛题解析
2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 第五题:前缀判断 第六题:三部排序 第七题:错误票据 第八题:翻硬币 ...
- 金蝉素数c语言,算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)
前言:以下代码仅供参考,若有错误欢迎指正哦~ 1好好学习 汤姆跟爷爷来中国旅游.一天,他帮助中国的小朋友贴标语.他负责贴的标语是分别写在四块红纸上的四个大字:"好.好.学.习".但 ...
- java实现第四届蓝桥杯剪格子
剪格子 题目描述 如图p1.jpg所示,3 x 3 的格子中填写了一些整数. 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60. 本题的要求就是请你编程判定:对给定的m x n 的格子 ...
- 2013年第四届蓝桥杯国赛试题及详解(Java本科B组)
蓝桥杯历年真题题目及题解目录汇总 结果填空 (满分10分) 结果填空 (满分12分) 代码填空 (满分8分) 程序设计(满分17分) 程序设计(满分22分) 程序设计(满分31分) 1.标题:猜灯谜 ...
- 蓝桥杯java第四届决赛第四题--九宫重排
标题:九宫重排如图1的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成图2所示的局面.我们把图1的局面记为:12345678. ...
- java实现第四届蓝桥杯公式求值
公式求值 输入n, m, k,输出图1所示的公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如图2所示. 输入的第一行包含一个整数n:第二行包含一 ...
- java实现第四届蓝桥杯危险系数
危险系数 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...
- 第四届蓝桥杯JAVA组C组国赛题解
闲话不多说,直接上代码! 1.好好学习 (1)题目描述 汤姆跟爷爷来中国旅游.一天,他帮助中国的小朋友贴标语.他负责贴的标语是分别写在四块红纸上的四个大字:"好.好.学.习".但是 ...
- java实现第四届蓝桥杯大臣的旅费
大臣的旅费 题目描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大 ...
最新文章
- 自动驾驶中高效的激光雷达里程计
- 重磅:苹果人工智能最完整解密,iBrain早已无处不在
- mellanox 网卡驱动_收购Mellanox之后 NVIDIA发布全球首款25G安全智能网卡
- Leetcode PHP题解--D47 868. Binary Gap
- IDEA——使用JSONObject时报错怎么办?
- oracle中如何测试,Oracle数据库中如何正确的查看sql
- XPath 简单语法
- 循序渐进PostgreSQL: 学习pqxx C++ API访问
- jdk帮助文档的获取
- Ubuntu 14.04下360/小米/百度等随身Wifi驱动安装方法
- 《高等代数学》(姚慕生),复习题一,第1题
- 创建mysql表sql语句_mysql创建表的sql语句
- 储能补贴有望出台?钱从哪来还是个问题
- caj文档如何免费转换成pdf格式
- LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)
- Excel 获取工龄公式
- php三元运算符要多个赋值,php中三元运算符用法
- 人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)
- char和varchar区别
- 机器学习sklearn-随机森林