问题标题: 酷町堂:3721 分数化简

0
0
贾志铭
贾志铭
中级守护
中级守护
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int m,n,temp,s;
    cin>>m>>n;
    while(m%n!=0)
    {
        temp=n;
        n=m%n;
        m=temp;
        s=n;
    }
    cout<<m/s<<" "<<n/s;
    return 0;
}

3721哪错了


1
王子健
王子健
初级天翼
初级天翼

回答之前,我先给你两个网址

https://baike.baidu.com/item/化简/8537306?fr=aladdin

https://zhidao.baidu.com/question/126002568.html

这上面有关于化简的知识。

然后,我会给予你一些代码上的帮助。

首先,你需要调用一个函数库:求最大公约数函数库int  gcd(int ... int ...)

其次,你需要在主函数里取n,m的最大公约数a。然后n/a,m/a。

以下是核心:

函数:

int gcd(int x,int y)求最大公约数
{
    if(!y)
        return x;
    return gcd(y,x%y);
} 

主函数:

int main()
{
    int n,m;
    cin>>n>>m;
    cout<<n/gcd(n,m)<<" "<<m/gcd(n,m);算出最好的和最简的分子与分母。
    return 0;
}

望采纳谢谢。

希望这个网站对你有帮助

https://blog.csdn.net/weixin_38505045/article/details/77688393
1
0
被禁言 张恩昊
张恩昊
资深天翼
资深天翼

数据不清空,爆零两行泪。

多测不读完,爆零两行泪。

边界不特判,爆零两行泪。

贪心不证明,爆零两行泪。

D P 顺序错,爆零两行泪。

大小少等号,爆零两行泪。

变量不统一,爆零两行泪。

越界不判断,爆零两行泪。

调试不注释,爆零两行泪。

溢出不 l l,爆零两行泪。

0
0
0
0
周zhouhaoran
周zhouhaoran
初级光能
初级光能

找最大公约数 --->--->--->--->--->gcd(a,b)

望采纳

0
武奕楷
武奕楷
新手天翼
新手天翼

 

主要的gcd函数:
int gcd(int a,b){
    while(a%b){
        int r=a%b;
        a=b;
        b=r;
    }
    return b;
}

 

0
赵朗
赵朗
高级光能
高级光能

用普通数学方法与编程结合即可

0
0
0
0
褚俊皓
褚俊皓
新手天翼
新手天翼

 while(m%n!=0){
        r=m%n;
        m=n;
        n=r;
    }

0
我要回答