题目链接
这里测试点2,3卡的是要用long long int类型不然范围不够
我一向不喜欢做这种题
gcd函数中要加一个判断a是不是为0,防止出现0/0这种,导致程序直接错误
#include<iostream>
#include<cmath>
using namespace std;
long long int a1,b1,a2,b2;
long long int gcd(long long int a,long long int b)//求最大公约数
{
if(a==0)//分子为0的情况
return 1;
if(b==0){
return a;
}
gcd(b,a%b);
}
long long int change()//对两个分数约分
{
long long int k;
k=gcd(a1,b1);
a1/=k;
b1/=k;
k=gcd(a2,b2);
a2/=k;
b2/=k;
}
void print(long long int fenzi,long long int fenmu)//打印两个数
{
if(fenzi==0||fenmu==0)//当分子或者分母为0的时候直接输出一个0就行了,不是0/X,或X/0的