思路:
1.消元
2.算出一个
3.带入求另一个
没了。
: )
: )
: )
作为一个刚小学毕业的学生,也是手痒写了这个代码:
(技术不好,刚学1个月C++)
直接上代码:
#include <bits/stdc++.h>
#include <Windows.h>
using namespace std;
long long same_low(long long a, long long b)//求最大公因数函数
{
long long cha;
if (a == b)
{
return a;
}
else if (a > b)
{
cha = a - b;
}
else
{
cha = b - a;
}
long long same_low;
while (true)
{
if ((a % cha == 0) && (b % cha == 0))
{
same_low = cha;
break;
}
else
{
cha--;
continue;
}
}
return same_low;
}
long long same_large(long long a, long long b)//求最小公倍数函数
{
long long same_l = same_low(a, b);
return a * b / same_l;
}
void Frac_simp(long long* a, long long* b)//分数化简函数
{
if (*b < 0)
{
*a = -*a;
*b = -*b;
}
long long same_l = same_low(*a, *b);
*a = *a / same_l;
*b = *b / same_l;
}
void Frac_pr(long long a, long long b)//打印分数函数
{
Frac_simp(&a, &b);
if (b == 1)
cout << a;
else
cout << a << "/" << b;
}
long long Frac_add(long long a, long long b, long long n, long long m,short v)//分数相加函数
{
Frac_simp(&a, &b);
Frac_simp(&n, &m);
long long same_down = same_large(b, m);
long long a_turn = same_down / b * a;
long long n_turn = same_down / m *