java生成有理数_第四届蓝桥杯Java B——有理数类

2023-11-04

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

这时,我们可以建立一个“有理数类”,下面的

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 vo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java生成有理数_第四届蓝桥杯Java B——有理数类 的相关文章

  • 融云 CallPlus SDK 上线!1V1 音视频、远程服务类应用的实现利器

    点击报名 9 月 21 日融云直播课 近期 融云新一代音视频通话场景化 SDK CallPlus 将正式上线 关注 融云全球互联网通信云 了解更多 融云 CallPlus 完整封装了拨打 振铃 接听 挂断等整套呼叫流程 支持一对一及群组多人
  • Python之数据类型 一

    数据类型 一 数字num 数字是python中的基本数据类型 数字可细分为四种类型 分别为整数 长整数 浮点数和复数 python作为动态类型语言 在使用数字时无需先声明类型 如下所示 a 1 整数 b 12 5 浮点数 c 2000030
  • Jina 轻松学 —— 部署和运行

    Jina是一个高性能的云原生分布式框架 可以利用它快速开发基于深度学习的神经搜索系统 本期教程将带来关于Jina部署和运行的介绍 让你快速 高效地运行Jina框架 Jina远程部署 JinaD Jina Daemon 简称为JinaD 可实
  • 微信小程序开发文档-萧然 8.28

    这里我开源了一个微信小程序的案例 https gitee com xiaoshixiaoran wechat applet 相关后台接口我会有空用SSM重写一遍再挂上去 准备工作 微信小程序官网 https mp weixin qq com
  • Iriun Webcam initialization Failed Error code -1

    管理员运行命令提示符 command prompt 依次运行 ipconfig flushdns 回车 netsh winsock reset 回车 重新安装iriun webcam 默认路径C盘即可
  • Windows 定时任务 设置某bat文件在开机 MySQL启动后启动

    To ensure that a Windows scheduled task starts after a specific Windows service you can follow these steps 1 Open the Ta
  • Error: EBUSY: resource busy or locked 报错(vue)

    用 npm i 安装依赖的时候报错 Error EBUSY resource busy or locked lstat C swapfile sys 下面是我总结的一些有效方法 方法一 删除 node modules 然后再安装 npm i
  • Notepad++删除奇数行(偶数行)

    删除奇数行 Ctrl F查找 开正则 查找 n n n 替换为 1 删除奇数行 在第一行敲一个回车 然后执行删除奇数行操作即可
  • 性能测试 —— Jmeter事务控制器

    事务 性能测试中 事务指的是从端到端 一个完整的操作过程 比如一次登录 一次 筛选条件查询 一次支付等 技术上讲 事务就是由1个或多个请求组成的 事务控制器 事务控制器类似简单控制器 把单个或者多个请求做成一个整体业务 它包含了2个选项 更
  • 【算法与数据结构】654、LeetCode最大二叉树

    文章目录 一 题目 二 解法 三 完整代码 所有的LeetCode题解索引 可以看这篇文章 算法和数据结构 LeetCode题解 一 题目 二 解法 思路分析 算法与数据结构 106 LeetCode从中序与后序遍历序列构造二叉树这两道题有
  • mkfs.jffs2工具安装

    安装mkfs jffs2工具 unrar free x rar tar jxvf mtd snapshot 20050519 tar bz2 mtd snapshot 20050519 tar bz2 cd mtd configure 如果
  • KNN算法——基本原理、分类、回归

    算法原理 KNN算法的核心思维 相似度较高的样本 映射到n维空间后 其距离回避相似度较低的样本在距离上更加接近 KNN 即K近邻算法 K近邻就是K个最近的邻居 当需要预测一个未知样本的时候 就由与该样本最接近的K个邻居来决定 KNN既可以用
  • 算法设计与分析期末复习题(史上最详细)

    算法设计与分析期末复习题 一 1 二分搜索算法是利用 A 实现的算法 A 分治策略 B 动态规划法 C 贪心法 D 回溯法 2 下列不是动态规划算法基本步骤的是 A A 找出最优解的性质 B 构造最优解 C 算出最优解 D 定义最优解 3
  • 数据一致性部分算法基础

    分布式部分算法 思考 Zookeeper 是如何保证数据一致性的 这也是困扰分布式系统框架的一个难题 Paxos算法 Paxos算法 一种基于消息传递且具有高度容错特性的一致性算法 Paxos算法解决的问题 就是如何快速正确的在一个分布式系
  • 配置JSTL 解决错误:org.apache.jasper.JasperException

    最近配置JSTL 遇到如下错误 org apache jasper JasperException This absolute uri http java sun com jsf core cannot be resolved in eit
  • SpringBoot进阶-日志等级配置与操作

    SpringBoot进阶 日志等级配置与操作 一 日志等级 二 设置日志等级 三 打印日志 四 自定义日志格式 五 文件记录日志 一 日志等级 trace 最低等级 debug 调试用 通常用于跟踪程序进展 info 记录用 通常用于记录程
  • excel表格vlookup函数怎么用_excel查找函数应用:vlookup多种情景的运用技巧

    编按 哈喽 大家好 VLOOKUP可算得上是查询函数界的大明星 但如何用它同时在两张工作表 甚至多张 如三张 四张工作表中查询需要的数据呢 下面这篇文章就给大家揭晓答案 学习更多技巧 请收藏关注部落窝教育excel图文教程 俗话说一个好汉三
  • SQL server 增删查改

    使用 sqlserver 数据库的基础便是增删改查 下面记录这些常见的数据库指令 首先我的前置条件 是创建了一个数据库 test 并创建了一个 Student 表 表中字段为 Id stuName stuSex stuAge 代码如 下 c
  • 关于PLC的scl语言

    本人小白一个 只是刚刚学习scl 想与大家分享一下 如果您是大佬 请勿喷 在我的理解 PLC就像单片机 而scl语言就像C语言 例如scl语言里的 就是C里的 如果学过C将会事半功倍 SCL语言学习并不需要什么网上视频 譬如我在某宝上买了一

随机推荐

  • python读取apifox测试报告中接口信息

    背景 使用apifox进行了接口测试 但是没有办法对两次的接口测试响应时间进行对比 因为apifox的测试报告是html格式的文件 所以可以读取html 提取出接口信息 接口报告如下 解决思路 语言 python 1 读取html文件内容
  • powershell_基础语法

    文章目录 范围 比较运算符 布尔运算 switch 示例 范围 1 20 for x 1 x lt 10 x x 1 echo x foreach i in 1 20 echo i 比较运算符 eq 等于 ne 不等于 gt 大于 ge 大
  • vue+element ui 中国标准化时间转换日期多种格式

    vue element ui 中国标准化时间转换日期多种格式 最近在做项目的时候用到了DatePicker 日期选择器 结果选好日期获取日期value得到这个玩意儿 有点恶心的中国标准化时间 如果想要转化成2021 04 3或 2021 0
  • 解决 Spring Cloud 部分版本,使用 nacos 做配置中心,报 No spring.config.import property has been defined 的问题

    报错信息如下 Description No spring config import property has been defined Spring 官方给出的解决方案如下 Add a spring config import nacos
  • Spring Cloud服务框架版本升级--JDK10+Gradle4.9+Spring Boot 2.0+Finchley.SR1

    目标 原有版本升级为Spring Boot 2 0与Spring Cloud Finchley SR1 使用gradle管理工程 搭建注册 配置 网关与追踪框架 加入k8s api微服务 环境 IntelliJ IDEA 步骤 版本升级及其
  • 大数据毕业设计 电商用户行为数据分析可视化 - python

    文章目录 0 前言 一 背景描述 二 项目背景 三 数据来源 四 提出问题 五 理解数据 六 数据清洗 6 1缺失值处理 6 2查看数据 6 3一致化处理 6 4查看data user数据集数据类型 6 5数据类型转换 6 6异常值处理 七
  • 对接微信支付接口开发详细步骤

    1 第一步 我们需要从哪里入手 当然我们需要有微信商家账号怎样申请商家账号呢 当然还是需要有一个已经审核过的微信公众号 这样的话 首先你必须先有个审核通过的微信公众号 这里就不说怎么审核公众号了这个公众号比较好弄 如何申请微信商户号 如图
  • ORA-01578的处理

    某天一台数据库测试机出现 ORA 01578 虽说这是测试机但是这是客户用的 随便处理也不行 仔细研究一下 ORA 01578 ORACLE data block corrupted file 2 block 69449 ORA 01110
  • LeetCode(Python)—— 只出现一次的数字(简单)

    只出现一次的数字 概述 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 你的算法应该具有线性时间复杂度 你可以不使用额外空间来实现吗 输入 2 2 1 输出 1 输入 4 1 2 1 2
  • [机缘参悟-77]:深度思考-《天道》中强势文化、弱势文化与人的行为模式的关系

    目录 一 文化属性与人的行为模式 二 强势文化与弱势文化 2 1 弱势文化的本质与其行为模式 2 2 强势文化的本质与其行为模式 三 强势文化造就强者 弱势文化造就弱者 一 文化属性与人的行为模式 文化 是一个广义词 它的概括面相当的广泛
  • 二分查找算法及其实例

    二分查找算法及其实例 问题一 二分查找 给定一个 n 个元素有序的 升序 整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target 如果目标值存在返回下标 否则返回 1 示例 1 输入 nums 1 0
  • Win7连接网络打印机步骤

    Win7客户端添加网络打印机 1 进入打印机官网 先下载对应型号的打印机驱动 2 找到控制面板 gt 点击硬件和声音 gt 设备和打印机 3 点击添加打印机按钮 选择添加网络 无线或Bluetooth打印机 4 搜索可用的打印机 5 找到对
  • 2023中国民营100强投资趋势

    导读 根据民企注册地了解到 民企100强企业几乎一半分布在华东地区 其次分布在华南 华北和华中地区 从省份来看 广东 浙江是主要分布的省份 企业数量分别是19家 江苏省有14家 北京市有8家 上海市有7家 河北省 山东省各6家 关注公众号
  • taro生命周期详解

    taro生命周期详解 taro介绍 生命周期 react的钩子函数 为兼容小程序的钩子函数 个别生命周期详解以及注意 1 render 函数 2 constructor 构造函数 3 在各个生命周期钩子函数中修改state的属性或者参数 4
  • 华为OD机试真题 (python)之支持优先级的队列

    题目描述 支持优先级的队列 实现一个支持优先级的队列 高优先级先出队列 同优先级时先进先出如果两个输入数据和优先级都相同 则后一个数据不入队列被丢弃 队列存储的数据内容是一个整数 输入描述 组待存入队列的数据 包含内容和优先级 输出描述 队
  • java corn 定时任务调度,每分钟执行一次,每半个小时执行一次

    java corn 表达式 每分钟执行一次 Scheduled cron 0 1 每半个小时执行一次 Scheduled cron 0 0 30 springboot 类 EnableScheduling Configuration Slf
  • 自定义截图方法,如何在RobotFrameWork的日志中显示

    用RobotFrameWork做UI自动化时 一般初学者都会选择第三方扩展库SeleniumLibrary进行UI自动化测试 随然已经封装许多浏览器操作方法 但在实际应用 某些方法还是不能满足我们的需求 于是乎 我们就舍弃SeleniumL
  • 以服务方式启动安防监控系统EasyNVR程序出现播放异常,是什么原因?

    EasyNVR安防视频监控平台的特点是基于RTSP Onvif协议 将前端设备统一接入 在平台进行转码 直播 处理及分发 在智慧安防视频监控场景中 EasyNVR可实现实时监控 云端录像 检索与回放 云存储 告警 级联等视频能力 极大满足行
  • 1.2 Ubauntu 使用

    一 完成VMware Tools安装 双击 VMwareTool 打开 Ubuntu 终端快捷键 Alt Control T 切换汉语的快捷键是Alt 空格 ls 打印出当前所在目录中所有文件和文件夹 cd 桌面 进入桌面文件夹 sudo
  • java生成有理数_第四届蓝桥杯Java B——有理数类

    有理数就是可以表示为两个整数的比值的数字 一般情况下 我们用近似的小数表示 但有些时候 不允许出现误差 必须用两个整数来表示一个有理数 这时 我们可以建立一个 有理数类 下面的 class Rational private long ra