问题标题: 酷町堂:3721

0
0

0
已采纳
施巧稚
施巧稚
初级守护
初级守护

    r=a%b;
    while(r!=0)
    {
        a=b;
        b=r;
        r=a%b;
    }
  这是求最大公约数的代码

再套上题目要求,就可以了。

其实不需要楼上各位大佬那么长

施巧稚在2018-12-24 21:40:52追加了内容

施巧稚在2019-01-30 10:09:09追加了内容

输出分母于分子,就是求出的最大公约数

0
0
时梓繁
时梓繁
修练者
修练者

int main()

{

int n,m;

cin>>n>>m;

cout<<n/gcd(n,m)<<" "<<m/gcd(n,m);部分代码!!

return 0;

}

部分代码!!

0
0
贾志铭
贾志铭
中级守护
中级守护

先定义两个数(我用的是m和n)
  在输入这两个数
  然后再定义两个数(我用的是a和b)
  再将m,n赋值给a,b:a=m;b=n;
  来个while循环,条件是m%n!=0
  定义一个数(我用的是temp)
  里面用辗转相除法求最大公因数:
  用较大数m除较小数n
  得到的余数temp作为下一次运算的较小数n
  原来的n作为较大数
  献上代码:
    temp=n;
    n=m%n;
    m=temp;
  在定义个数(我用的是s)
  把n赋值给s:s=n;
  最后输出a/s和b/s:
  cout<<a/s<<" "<<b/s; 

贾志铭在2018-12-23 20:26:58追加了内容

怕你看不懂

献上while循环代码:

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

求采纳

我要回答