当前位置: 首页 > news >正文

无忧网站建设服务织梦网站图片修改

无忧网站建设服务,织梦网站图片修改,成都网站建设全美,网站源码如何保存📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️有理数运算 实现对两个有理数的…

                                                                                              

                                   📑打牌 : da pai ge的个人主页
                                   🌤️个人专栏 : da pai ge的博客专栏
                                  ☁️宝剑锋从磨砺出,梅花香自苦寒来

☁️有理数运算

实现对两个有理数的基本运算,包括加、减、乘、除。
输入描述:
每个输入文件只包含一个测试用例,测试用例会给出一行数据,格式为 “a1/b1 a2/b2”
分子分母的范围都在长整型的范围内,如果数字为负,则符号只会出现在分子的前面。分母一定是非零数。
输出描述:
针对每个测试用例,都输出四行,分别是这两个有理数的和、差、积和商,格式为 1 操作符 数 2 = 结果 。注
意,所有的有理数都将遵循一个简单形式 “k a/b” ,其中 k 是整数部分, a/b 是最简分数形式,如果该数为负数,则必
须用括号包起来。如果除法中的除数为 0 ,则输出 “Inf” 。结果中所有的整数都在 long int 的范围内。

☁️【题目解析】

本题看上去不难,但是存在几个问题:
1 、除数为 0 ,这个很好解决,做个判断即可。
2 、负数的输出,这个只要一个标签即可。
3 、题目中虽然没有明说,但是这个数字处理后其实是有可能不存在分数部分或者整数部分的。也就是说将数据处
理完形成 k a/b 的格式后,有可能只有一个 k ,也可能只有一个 a/b ,也有可能两者皆有,所以要分别考虑这几种情
况。

☁️【解题思路】

可以尝试实现一个有理数类,将数据处理后重载一下加减乘除即可。处理数据的方法就是除一下 mod 一下的问题,
加减乘除遵循基本的分数加减乘除原则,最后求一下最大公约数,做一下约分,再处理一下数据,就 OK 了。

☁️【示例代码】

import java.util.*;
// s and the denominators
class Rational{
private long numerator; // 分子
private long denominator; // 分母
private long integer; // 整数部分
private boolean negetive = false; // 负数
private boolean isZero = false; // 分母为零
private long totalNumerator; // 参与运算的分子:整数+原来分子
public static long paraseNumerator(String s){
//只需从字符串中将分子截取出来
return Long.parseLong(s.substring(0, s.indexOf('/')));
}
public static long paraseDenominator(String s){
//只需从字符串中将分子截取出来
return Long.parseLong(s.substring(s.indexOf('/')+1, s.length()));
}
public Rational(long n, long d){
// 在输入的时候分母永远不可能为0,但是经过计算之后分母可能会为0
if(0 == d){
isZero = true;
return;
}
// 如果分子小于0,表示为负数
if(n < 0){
negetive = !negetive;
}
// 在输入的时候,分母永远不可能小于0,但是经过计算之后分母也可能会小于0
if(d < 0){
negetive = !negetive;
}
// 如果输入是假分数,需要将其调整为真分数,比如:5 / 3 ===> 1 2/3
integer = n / d;
numerator = n - integer * d;
denominator = Math.abs(d);
// 如果分数不是最简的形式,需要将其约分为最简的形式,比如:10 / 15--->2/3
// 在分子和分母的基础之上分别处以分子和分母的最大公约数
if(numerator > 1 || numerator < -1){
long gcd = calcGCD(Math.abs(numerator), denominator);
if(gcd > 0){
numerator /= gcd;
denominator /= gcd;

http://www.sczhlp.com/news/112564/

相关文章:

  • 长沙的网站建设互联网保险的发展
  • 横峰县建设局网站一键做网站的软件
  • 天津h5模板建站wordpress 怎么看
  • 远近互联网站建设seo还有前景吗
  • 邯郸网站设计公司乌兰浩特网站制作
  • 陕西省建设厅证网站号多少广州网站建设公司排名
  • 海门城乡建设管理局网站网络推广培训ppt
  • 盘锦网站制作西餐网页设计素材
  • 一言
  • ai
  • LlamaIndex 项目深度技术分析 - 详解
  • 网站空间是指什么网站 绝对路径
  • 基于jsp的网站开发品牌建设找晓哥
  • 罗玉凤做网站淮北建网站
  • 关于网站开发的创业计划书wordpress 图片丢失
  • 阿里网站建设需要准备什么软件合肥市建设工程劳务分包合同备案表在哪个网站下载
  • 网站文章优化秦皇岛网站备案
  • seo网站优化培训找哪些传统企业网站建设制作
  • 网站推广服务费计入什么科目德尔普网站建设
  • 进网站备案嘉兴网站建设有前途吗
  • 网站建设的发展前景搜索引擎 网站模板
  • 深入解析:css消除图片下的白边
  • 深圳物流公司收费标准网站优化企业排名
  • 百度 搜索到手机网站关键词排名优化方案
  • 企业网站app长春 网站建设
  • mvc5网站开发之六server2012 wordpress
  • 企业网站开发市场哪里有建站代理加盟
  • 3g下订单的网站怎么做简述网站推广的基本方法
  • 如何在百度开个网站wordpress写文章教程
  • 藁城网站建设南宁网站建设公司招聘