1088. Rational Arithmetic (20)
来源:互联网 发布:淘宝运作流程 编辑:程序博客网 时间:2024/06/05 19:23
PAT测试不支持%I64d 可以使用%lld,,被坑了好久。但是题目没有难度
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;long long gcd(long long a,long long b){if(a<0){a=-a;}if(b<0){b=-b;}long long t;if(a<b){t=a;a=b;b=t;}long long n;while(b){n=a%b;a=b;b=n;}return a;}void print1(long long num,long long deno){long long flag=gcd(deno,num);int temp=0;num=num/flag;deno=deno/flag;if((num*deno)<0){cout<<'(';temp=1;}if(deno<0){num=-num;deno=-deno;}long long num1=abs(num);if(num==0){cout<<0;}else if(deno==1){cout<<num;}else if(num1<deno){cout<<num<<'/'<<deno;}else{long long k=num/deno;num=num1%deno;cout<<k<<' '<<num<<'/'<<deno;}if(temp){cout<<')';}return ;}void Sum(long long a,long long b,long long c,long long d){long long deno,num,flag;deno=b*d;num=a*d+c*b;print1(a,b);cout<<' '<<'+'<<' ';print1(c,d);cout<<' '<<'='<<' ';print1(num,deno);cout<<endl; return ;}void Dif(long long a,long long b,long long c,long long d){long long deno,num,flag;deno=b*d;num=a*d-c*b;//flag=gcd(deno,num);//num=num/flag;deno=deno/flag;print1(a,b);cout<<' '<<'-'<<' ';print1(c,d);cout<<' '<<'='<<' ';print1(num,deno);cout<<endl;return ;}void Pro(long long a,long long b,long long c,long long d){long long deno,num,flag;deno=b*d;num=a*c;//flag=gcd(deno,num);//num=num/flag;deno=deno/flag;print1(a,b);cout<<' '<<'*'<<' ';print1(c,d);cout<<' '<<'='<<' ';print1(num,deno);cout<<endl;return ;}void Quo(long long a,long long b,long long c,long long d){if(c==0){print1(a,b);cout<<' '<<'/'<<' ';print1(c,d);cout<<' '<<'='<<' ';printf("Inf");return ;}long long deno,num,flag;deno=b*c;num=a*d;//flag=gcd(deno,num);//num=num/flag;deno=deno/flag;print1(a,b);cout<<' '<<'/'<<' ';print1(c,d);cout<<' '<<'='<<' ';print1(num,deno);return ;}int main(){long long a,b,c,d;scanf("%lld/%lld%lld/%lld",&a,&b,&c,&d);//输入用%lld//cout<<a<<' '<<b<<' '<<c<<' '<<d<<endl;Sum(a,b,c,d);Dif(a,b,c,d);Pro(a,b,c,d);Quo(a,b,c,d);return 0;}
0 0
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 1088. Rational Arithmetic (20)
- 基于.net开发chrome核心浏览器【一】
- C语言函数调用中堆栈知识
- js代码加总结
- java静态方法学习小结
- Qt中QString与数字类型的转换方法
- 1088. Rational Arithmetic (20)
- 微信硬件平台从入门到精通(服务器端)
- LeetCode-127.Word Ladder
- HBase安装
- js-DOM总结
- 哈理工OJ 1559 线段相交(计算几何)
- JQuerySelectors
- 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan" 可以让界面不被弹出的键盘挤上去。
- 深入理解Java的接口和抽象类