问题标题: 酷町堂:3795 分数乘法

0
0
已解决
被禁言 张皓轩
张皓轩
中级光能
中级光能

3795   分数乘法经验值:800

题目描述 Description

酷町猫最近在学习分数,它想用自己学到的计算机知识,来计算分数乘法的结果。
输入两个分数a,b,求出它们相乘的结果。
例如:
(2/4) * (2/4) ,它们的结果为:(2 * 2) / (4 * 4) = 4/16 = 1/4。

(4/2) * (4/2) ,它们的结果为:(4 * 4) / (2 * 2) = 16/4 = 4。

输入描述 Input Description

输入4个空格隔开的整数a1,a2,b1,b2。分别表示分数a的分子,分母,分数b的分子,分母。

输出描述 Output Description

输出分数a*b的结果(需要约分)。

样例输入 Sample Input

2 4 2 4

样例输出 Sample Output

1/4

50分代码:

#include<iostream>

using namespace std;

int gcd(int x,int y){

if(!y){

return x;

}

return gcd(y,x%y);

}

int main(){

long long a,b,c,d;

cin>>a>>b>>c>>d;

a=a*c;

b=b*d;

if(b/gcd(a,b)!=1){

cout<<a/gcd(a,b)<<"/"<<b/gcd(a,b);

}else{

cout<<a/gcd(a,b);

}

return 0;

}

 


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

gcd函数中的参数也应该是long long类型

我要回答