C++学习之路 | PTA乙级—— 1034 有理数四则运算 (20 分)(精简)

1034 有理数四则运算 (20 分)
本题要求编写程序,计算 2 个有理数的和、差、积、商。
输入格式:

输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。
输出格式:

分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/b,其中 k 是整数部分,a/b 是最简分数部分;若为负数,则须加括号;若除法分母为 0,则输出 Inf。题目保证正确的输出中没有超过整型范围的整数。
输入样例 1:

2/3 -4/2
输出样例 1:

2/3 + (-2) = (-1 1/3)
2/3 - (-2) = 2 2/3
2/3 * (-2) = (-1 1/3)
2/3 / (-2) = (-1/3)
输入样例 2:

5/3 0/6
输出样例 2:

1 2/3 + 0 = 1 2/3
1 2/3 - 0 = 1 2/3
1 2/3 * 0 = 0
1 2/3 / 0 = Inf

#include <iostream>
#include <cmath>
using namespace std;
long long a, b, c, d;
long long gcd(long long t1, long long t2) {return t2 == 0 ? t1 : gcd(t2, t1 % t2);
}
void func(long long m, long long n) {if (m * n == 0) {printf("%s", n == 0 ? "Inf" : "0");return ;}bool flag = ((m < 0 && n > 0) || (m > 0 && n < 0));m = abs(m); n = abs(n);long long x = m / n;printf("%s", flag ? "(-" : "");if (x != 0) printf("%lld", x);if (m % n == 0) {if(flag) printf(")");return ;}if (x != 0) printf(" ");m = m - x * n;long long t = gcd(m, n);m = m / t; n = n / t;printf("%lld/%lld%s", m, n, flag ? ")" : "");
}
int main() {scanf("%lld/%lld %lld/%lld", &a, &b, &c, &d);func(a, b); printf(" + "); func(c, d); printf(" = "); func(a * d + b * c, b * d); printf("\n");func(a, b); printf(" - "); func(c, d); printf(" = "); func(a * d - b * c, b * d); printf("\n");func(a, b); printf(" * "); func(c, d); printf(" = "); func(a * c, b * d); printf("\n");func(a, b); printf(" / "); func(c, d); printf(" = "); func(a * d, b * c);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 下载 命令 wget 和 curl

From&#xff1a;http://www.jb51.net/LINUXjishu/86326.html From &#xff1a;Linux curl 命令详解 - http://www.cnblogs.com/duhuo/p/5695256.html Linux curl 命令参数详解&#xff1a;http://www.aiezu.com/system/linux/linux_curl_syntax.html Linux下使用 curl &…

sql server存储过程中解决单引号的问题

一&#xff1a;目的想在sql中插入号&#xff0c;例如&#xff1a;select count&#xff08;*&#xff09;from user where nametoma)使用转义字符&#xff1a;select char(39)或select char(39)查询的结果是&#xff1a;例如&#xff1a;select char(39) 44555 char(39)查询的…

Guava入门~Charsets

import java.io.UnsupportedEncodingException; import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google.common.base.Charsets;/*** TODO 在此写上类的相关说明.<br>* author gqltt<br>* version 1.0.0 2021年11月11日<br>* see * …

无人驾驶推进时间表及五大技术领域关键节点

来源&#xff1a;莫尼塔财新智库摘要&#xff1a;本文援引莫尼塔财新智库的一篇研究&#xff0c;系统梳理了无人驾驶各关键技术节点以及其成熟时间。”“汽车技术发展到如今&#xff0c;几乎没有人质疑无人驾驶会成为汽车行业变革的巨大浪潮&#xff0c;然而对于各项技术落地的…

C++学习之路 | PTA乙级—— 1040 有几个PAT (25 分)(精简)

1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT&#xff0c;其中第一个 PAT 是第 2 位&#xff0c;第 4 位(A)&#xff0c;第 6 位(T)&#xff1b;第二个 PAT 是第 3 位&#xff0c;第 4 位(A)&#xff0c;第 6 位(T)。 现给定字符串&#xff0c;问一共可以形成多…

linux sed 命令详解

参考&#xff1a;http://www.cnblogs.com/ctaixw/p/5860221.html sed 常用选项 和 常用命令 sed 是一个很好的文件处理工具&#xff0c;本身是一个管道命令&#xff0c;主要是 以行为单位 进行处理&#xff0c;可以将数据行进行替换、删除、新增、选取等特定工作。 sed 的用法 …

背景和弹出 Panel 都带有动画效果的 modal 效果

微软Ajax control toolKit 中有 ModalPopup 控件。可以实现页面遮盖的效果。但是遮盖直接出现&#xff0c;十分突然。我想能不能加上渐变的效果&#xff1f;这样感觉会好一点&#xff0c;炫一点。于是又想如果弹出的对话框(Panel)也有动画效果就会更炫了。于是就有了 Animation…

Guava入门~Objects

import java.util.Date; import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google.common.base.Objects;/*** TODO 在此写上类的相关说明.<br>* author gqltt<br>* version 1.0.0 2021年11月11日<br>* see * since JDK 1.5.0*/ publi…

2018年,这些信息通信技术将大红大紫

来源&#xff1a;人民邮电报、中国信息通信研究院当今&#xff0c;全球信息通信产业又一次面临重大技术突破、产业升级的发展机遇&#xff0c;人工智能、第五代移动通信、虚拟现实、增强现实等新一代技术日益成熟&#xff0c;产业化进程加速。通过对全球信息通信行业重点智库技…

C++学习之路 | PTA乙级—— 1041 考试座位号 (15 分)(精简)

1041 考试座位号 (15 分) 每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#xff…

实例探究Python以并发方式编写高性能端口扫描器的方法

来源&#xff1a;http://www.jb51.net/article/86615.htm 关于端口扫描器 端口扫描工具&#xff08;Port Scanner&#xff09;指用于探测服务器或主机开放端口情况的工具。常被计算机管理员用于确认安全策略&#xff0c;同时被攻击者用于识别目标主机上的可运作的网络服务。 端…

雅虎中国,奇虎全面杀入威客领域

中国互联网进入2008年&#xff0c;一个巨大的变化在不知不觉之中悄悄的走到人们的视野之中。 2008年3月&#xff0c;雅虎中国(cn.yahoo.com)推出了有奖建站和能人自荐栏目&#xff0c;通过悬赏万元鼓励互联网用户在雅虎中国开设个人网站&#xff0c;公布个人才能和智力作品。然…

DeepMind提出强化学习新算法,教智能体从零学控制

来源&#xff1a;人工智能和大数据摘要&#xff1a;3月2日&#xff0c;DeepMind发表博客文章&#xff0c;提出一种称为SAC-X&#xff08;计划辅助控制&#xff09;的新学习范式&#xff0c;旨在解决让AI以最少的先验知识&#xff0c;从头开始学习复杂控制问题的挑战。这在真实环…

Guava入门~MoreObjects

import java.math.BigDecimal; import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google.common.base.MoreObjects;/*** TODO 在此写上类的相关说明.<br>* author gqltt <br>* version 1.0.0 2021年11月11日<br>* see * since JDK 1.…

C++学习之路 | PTA乙级—— 1042 字符统计 (20 分)(精简)

1042 字符统计 (20 分) 请编写程序&#xff0c;找出一段给定文字中出现最频繁的那个英文字母。 输入格式&#xff1a; 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成&#xff0c;至少包含 1 个英文字母&#xff0c;以回车结束&…

gdb 调试命令的使用及总结

GDB: The GNU Project Debugger&#xff1a;http://www.gnu.org/software/gdb/documentation/ 参考&#xff1a;http://www.jianshu.com/p/30ffc01380a0 参考&#xff1a;https://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/ 参考&#xff1a;http://wiki.ubuntu.org.…

Linux的JVM可以从SUN网站上下载

Linux上的JVM可以到sun的网站上下载&#xff0c;因为以前都用的是Windows的东西&#xff0c;现在Linux需要重新回到命令行模式&#xff0c;从SUN的网站上可以下载不用窗口模式的安装包。默认页面提供的是Java SE 6的&#xff0c;许多应用程序还在4和5上开发&#xff0c;因此还需…

中国各地AI行业政策汇总及解读

来源&#xff1a;数据科学与人工智能随着人工智能的快速发展&#xff0c;国家相继出台一系列政策支持中国人工智能的发展&#xff0c;推动中国人工智能步入新阶段。2017年7月20日&#xff0c;国务院印发了《新一代人工智能发展规划》。规划中提到分三步走&#xff1a;第一步&am…

Guava入门~Lists

import java.util.List; import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google.common.collect.Lists;/*** TODO 在此写上类的相关说明.<br>* author gqltt<br>* version 1.0.0 2021年11月12日<br>* see * since JDK 1.5.0*/ publ…

C++学习之路 | PTA乙级—— 1043 输出PATest (20 分)(精简)

1043 输出PATest (20 分) 给定一个长度不超过 10 ​4 ​​ 的、仅由英文字母构成的字符串。请将字符重新调整顺序&#xff0c;按 PATestPATest… 这样的顺序输出&#xff0c;并忽略其它字符。当然&#xff0c;六种字符的个数不一定是一样多的&#xff0c;若某种字符已经输出完&…