4 条题解
-
2lichengjun LV 10 @ 2022-12-23 23:45:01
#include<iomanip> #include<stdio.h> #include<math.h> #include<cstring> using namespace std; int main(){ int a,b,c,d; cin>>a>>b>>c>>d; cout<<a<<"/"<<b<<"+"<<c<<"/"<<d<<"="; int x,y; x=b*d;//分母 y=a*d+b*c;//分子 int r,ax,in; ax=max(x,y);//大数(用来求最大公倍数) in=min(x,y);//小数 r=ax%in;//r为余数 while(r!=0){//while求最大公倍数来化简 ax=in; in=r; r=ax%in; } int aa,bb,zs;//约分后的分子分母与输出答案的整数部分 aa=y/in; bb=x/in; if(aa>bb){//求整数部分 zs=(aa-aa%bb)/bb; aa%=bb; cout<<zs<<"+"<<aa<<"/"<<bb; }else{//分情况 cout<<aa<<"/"<<bb; } return 0; }
-
12023-3-28 21:05:25@
#include <bits/stdc++.h>//直接使用万能头 using namespace std; int gcd(int a,int b){ if(b == 0){ return a; } return gcd(b,a % b); } int main(){ int a,b,c,d; cin >> a >> b >> c >> d; int aa = a * d + b * c,bb = b * d,x = gcd(aa,bb); aa /= x; bb /= x; if(aa > bb){ cout << a << "/" << b << "+" << c << "/" << d << "=" << aa / bb << "+" << aa % bb << "/" << bb; } else{ cout << a << "/" << b << "+" << c << "/" << d << "=" << aa << "/" << bb; } return 0; }
-
12022-8-26 18:31:06@
#include <stdio.h> #include <iostream> using namespace std; int main() { int a, b, c, d; cin >> a >> b >> c >> d; // printf("%d/%d+%d/%d=",a,b,c,d); cout << a << "/" << b << "+" << c << "/" << d << "="; int y = b*d; int x = a*d + c*b; if(x>y) { cout << x/y; x = x%y; if(x%y !=0) { cout << "+"; } } a = x, b = y; while(b) { int t = a%b; a = b; b = t; } if(a != 0) { x = x/a; y = y/a; cout << x << "/"<<y<<endl; } }
-
02024-3-31 18:31:47@
#include <bits/stdc++.h> //使用万能头 using namespace std; int zdgys(int a,int b){ //用辗转相除法求最大公因数(a,b) int t; if(a < b){ //a和b的值交换 t = a; a = b; b = t; } while(a % b != 0){ //开始辗转相除法 t = b; b = a % b; a = t; } return b; } int zxgbs(int a,int b,int c){ //求最小公倍数[a,b],c为最大公因数(a,b) return a * (b / c); } int a,b,c,d,e,f,g,jga,jgb; int main(){ cin >> a >> b >> c >> d; cout << a << "/" << b << "+" << c << "/" << d << "="; e = zdgys(b,d); // f = zxgbs(b,d,e); // a = a * (f / b); //通 b = f; //分 c = c * (f / d); // d = f; // jga = a + c; jgb = b; g = jga / jgb; jga %= jgb; e = zdgys(jga,jgb); if(e != 1){ // jga /= e; //约 jgb /= e; //分 } // if(g == 0) cout << jga << "/" << jgb << endl; else cout << g << "+" << jga << "/" << jgb << endl; return 0; }
- 1
信息
- ID
- 907
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 294
- 已通过
- 116
- 上传者