0
已采纳
王子健
初级天翼
初级天翼
代码实现:
#include<iostream>
using namespace std;
int gcd(int x,int y)
{
if(!y)
return x;
return gcd(y,x%y);
}
int main()
{
整形 n,m;
输入>>n>>m;
cout<<n/gcd(n,m)<<" "<<m/gcd(n,m);
return 0;
}
文字理解:
如果是两个整数化简的话,那只要求出他们的最大公约数,就可以化简了。
如果是两个参数是小数的话,那就麻烦多一点了!不过,如果是小数的话,
你可以先分析两个参数是否为小数,如果为小数,找出小数点,然后乘上一
个倍数,化为整数,再求最大公约数。
网站寻访:
https://bbs.csdn.net/topics/390108606
(以上代码可以AC“3721分数化简”)
0
0
赵逸凡
初级启示者
初级启示者
线型筛法没学的话就用普通筛法,效果不错,主要是针对a/b这个分数,求他们有没有互质,也就是用筛法求出他们之间的公约数。
O(sqrt(n))的时间复杂度最适合用于遍历for语句中,欧几里得算法没学过的话就用普通的for遍历,然后让他们除以一个最大公约数,这样时间复杂度会减小
0