*求最小公倍數 (10分)

*求最小公倍數 (10分)
請編寫程序,輸入兩個整數,輸出最小公倍數。

輸入格式
兩個整數

輸出格式
最大公約數(正整數)

說明:兩個整數可以是正數、零和負數。最小公倍數必須是自然數。題目保證兩個整數和最小公倍數的位數都不到 20 位。

輸入樣例1
25 30

輸出樣例1
150

輸入樣例2
7 0

輸出樣例2
0

輸入樣例3
0 0

輸出樣例3
0

#include <stdio.h>
#include <stdlib.h>

long long main()
{
    long long a,b,c,min,r;
    long long m,n;
    scanf("%lld%lld",&a,&b);
    if(b<0)
        b=-b;
    if(a<0)
        a=-a;
    m=a;
    n=b;
    if(a==0&&b==0)
        min=0;
    else
    {
        if(a<b)
        {
            c=a;
            a=b;
            b=c;
        }
        while(b!=0)
        {
            r=a%b;
            a=b;
            b=r;
        }
        min=m/a;
        min=min*n;
    }
    printf("%lld",min);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章