问题标题: 酷町堂:1149

0
0
已解决
刘雨沐
刘雨沐
新手光能
新手光能

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int mian ( )
{
    int m,n,a,s,r;
    cin>>r;
    while(r!=0)
    {
        r=m%n;
        m=n;
        n=r;
    }
    a=s*r;
    while(r!=0)
    {
        r=s%r;
        m=n;
        n=r;
    }
    cout<<m<<a/s;
    return 0;
}


0
已采纳
张舒斌
张舒斌
中级光能
中级光能
while(m%n)//如果m%n的值不是0,则继续,否则跳过
{
    temp=m%n;//利用辗转相除法求最大公约数,temp表示每一次出得的余数
    m=n;n=temp;//变量转换,把第二个数赋值给第一个数,余数赋值给第二个数
}

最后输出n和两数之积除以最大公约数。

两数最小公倍数=两数之积/两数最大公约数

 

张舒斌在2019-01-19 16:12:49追加了内容

请你说一下你的思路,否则我无法找你程序中的错误

0
金一铭
金一铭
新手光能
新手光能

思路:

首先循环到最大数,再求这两个最大的因数,再输出这个数,最小公倍数是两数相乘除最大公因数

0
我要回答