初级光能
题目描述 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
10分错误代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int a,b,r=1,x,y;
cin>>a>>b;
x=a;
y=b;
while(r!=0)
{
r=a%b;
a=b;
b=r;
}
cout<<x/a<<"/"<<y/a;
return 0;
}
请各位大佬帮忙找错 !!!(3) !!!!!!!(7) !!!!!!!!!(9) !!!!!(5)
感谢!!!
黄品翔在2019-02-26 18:38:27追加了内容
题目描述 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
10分错误代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int m1,n1,m2,n2;
cin>>m1>>n1>>m2>>n2;
m1*=m2;
n1*=n2;
int x=m1,y=n1;
int r=m1%n1;
while(r)
{
m1=n1;
n1=r;
r=m1%n1;
}
cout<<x/n1<<'/'<<y/n1;
return 0;
}
请各位大佬帮忙找错 !!!(3) !!!!!!!(7) !!!!!!!!!(9) !!!!!(5)
感谢!!!
中级光能
因为当分母=1时,此时的最简分数应该是分子除以分母,也就是分子,你在最后得判断一下。
如:
(4 * 4) / (2 * 2) = 16/4 = 4
按照你的写法,答案就会是4/1,那么就是错误