博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT A1088 分数四则运算
阅读量:6870 次
发布时间:2019-06-26

本文共 2013 字,大约阅读时间需要 6 分钟。

clipboard.png

和之前那题一样,只不过是四册运算:

#include
#include
#include
using namespace std;typedef long long ll;struct node{ ll up; ll down;};int gcd(ll a,ll b){ if(b==0) return a; return gcd(b,a%b);}node reflesh(node a){ if(a.down<0){ a.down=-a.down; a.up=-a.up; } if(a.up==0){ a.down=1; }else{ int d; if(abs(a.up)>a.down){ d=gcd(abs(a.up),a.down); }else{ d=gcd(a.down,abs(a.up)); } a.up/=d; a.down/=d; } return a;}node add(node a,node b){ node result; result.down=a.down*b.down; result.up=a.up*b.down+b.up*a.down; return reflesh(result);}node minl(node a,node b){ node result; result.down=a.down*b.down; result.up=a.up*b.down-b.up*a.down; return reflesh(result);}node doub(node a,node b){ node result; result.down=a.down*b.down; result.up=a.up*b.up; return reflesh(result);}node mult(node a,node b){ node result; result.down=a.down*b.up; result.up=a.up*b.down; return reflesh(result);}void output(node result){ result=reflesh(result); if(result.up<0) printf("("); if(result.down==1){ printf("%lld",result.up); }else if(abs(result.up)>result.down){ printf("%lld %lld/%lld",result.up/result.down,abs(result.up)%result.down,result.down); }else{ printf("%lld/%lld",result.up,result.down); } if(result.up<0) printf(")");}int main(){ node a,b; scanf("%lld/%lld %lld/%lld",&a.up,&a.down,&b.up,&b.down); output(a); printf(" + "); output(b); printf(" = "); output(add(a,b)); printf("\n"); output(a); printf(" - "); output(b); printf(" = "); output(minl(a,b)); printf("\n"); output(a); printf(" * "); output(b); printf(" = "); output(doub(a,b)); printf("\n"); output(a); printf(" / "); output(b); printf(" = "); if(b.up==0) printf("Inf"); else output(mult(a,b)); system("pause"); return 0;}

转载地址:http://zlpfl.baihongyu.com/

你可能感兴趣的文章
RMAN备份失败: ORA-19502 & ORA-27072: File I/O error
查看>>
Linux Socket学习--地址转换函数
查看>>
高可用Hadoop平台-Hue In Hadoop
查看>>
Java虚拟机详解03----常用JVM配置参数
查看>>
设计模式[9]-Template Method
查看>>
基于服务型特征,诚心求经,互利共嬴
查看>>
知其然而所以然:Operating System 概述和学习图
查看>>
JHChainableAnimations
查看>>
【Oracle】sqlplus 遇到共享库权限不足
查看>>
用字典给Model赋值并支持map键值替换
查看>>
PHP 之 Laravel 框架安装及相关开源软件
查看>>
(一二〇)抽象数据类型
查看>>
AmazeUi基础技能的学习(一)
查看>>
MySQL源码:Range和Ref优化的成本评估
查看>>
Share volume between machines
查看>>
数组、指针、C标准……
查看>>
主流web容器(jetty,tomcat,jboss)的classloader机制对比和相关问题分析
查看>>
GIL 已经被杀死了么?
查看>>
关联本地仓库和Github远程仓库并对git push报错处理
查看>>
AAC架构系列二(DataBinding)
查看>>