1034. 有理数四则运算(20)
来源:互联网 发布:线性时间选择算法java 编辑:程序博客网 时间:2024/05/19 04:28
#include<iostream>#include<iomanip>#include<cmath>using namespace std;int main(){void output(long int a,long int b);long int a1,b1,a2,b2;long int c[4]={0},d[4]={0};char sign[]={'+','-','*','/'};scanf("%ld/%ld %ld/%ld",&a1,&b1,&a2,&b2);c[0]=a1*b2+a2*b1;d[0]=b1*b2;c[1]=a1*b2-a2*b1;d[1]=b1*b2;c[2]=a1*a2;d[2]=b1*b2;c[3]=a1*b2;d[3]=b1*a2;if(d[3]<0){c[3]=-c[3];d[3]=-d[3];}for(int i=0;i<4;i++){if(a1==0){cout<<0;}else{output(a1,b1);}cout<<" "<<sign[i]<<" ";if(a2==0){cout<<0;}else{output(a2,b2);}cout<<" = ";if(i<3){if(c[i]==0){cout<<0;}else{output(c[i],d[i]);}}else{if(d[3]==0){cout<<"Inf";}else if(c[3]==0){cout<<0;}else{output(c[3],d[3]);}}cout<<endl;}return 0;}void output(long int a,long int b){long int gys(long int x,long int y);bool f=false;if(a<0){cout<<"(-";a=-a;f=true;}long int g=gys(a,b);a=a/g;b=b/g;long int zs=a/b;long int ys=a%b;if(zs!=0){cout<<zs;if(ys!=0){cout<<" "<<ys<<"/"<<b;}}else{cout<<ys<<"/"<<b;}if(f){cout<<")";}}long int gys(long int x,long int y){long int r;while(y>0){r=x%y;x=y;y=r;}return x;}
0 0
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- 1034. 有理数四则运算(20)
- zstu 1027 Monkey and Banana
- Python图像处理库PIL的ImageFile模块介绍
- C语言和设计模式(继承、封装、多态)
- JAVA 读取properties配置文件 - 全局搜索路径
- 关于移动互联网产品的指标分析初探
- 1034. 有理数四则运算(20)
- FragmentActivity和Activity的具体区别在哪里
- mapreduce编程(一)-二次排序
- 一些开源的项目
- Android进程与线程
- LeetCode --- Add Digits解题分析
- SublimeText3 配置前端开发插件
- 浙大PAT1059 Prime Factors
- bzoj3991: [SDOI2015]寻宝游戏