问题标题: 酷町堂:3795

0
1
已解决
李明昕
李明昕
资深守护
资深守护

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    cout<<a*c<<"/"<<b*d; 
    return 0;
}

实在不知道怎么弄了。。。。。。。。。。

求大佬告诉我怎么将这分数约分吧

 


1
已采纳
陈正朔
陈正朔
初级光能
初级光能

分数约分需要求出最大公约数

可以写一个函数

long long gcd(long long x,long long y){ //参数必须是long long!否则WA50
    while(x%y!=0){
        int r=x%y;//辗转相除法
        x=y;
        y=r;
    } 
    return y;
} 

主函数中只需要

e1=a1*b1;//所有变量都要用long long定义!
    e2=a2*b2;//计算乘积
    if(e1%e2==0){
        cout<<e1/e2;//可以整除
    }else{
        cout<<e1/gcd(e1,e2)<<"/"<<e2/gcd(e1,e2);//否则约分
    }

就行了

我要回答