最大公倍数和最小公约数(C语言)

long long 十进制下不是可以支持19位嘛,为什么d还是溢出了?求解惑!谢谢啦!

img

img

应该让m>n

题目不是都说了,在int的范围内吗?而且你这些的什么东西啊?有那么复杂吗

#include <stdio.h>

int main()
{
    int m, n, i, j, min, gcd, t;
    scanf("%d %d", &m, &n);
    min = m;
    if(min > n)
        min = n;
    for(i=1; i<=min; i++)
    {
        if(m % i == 0 && n % i == 0)
            gcd = i;
    }
    
    for(j=min; j<=m*n; j++)
    {
        if(j % m == 0 && j % n == 0)
        {
            t = j;
            break;
        }    
    }
    printf("%d %d", gcd, t);
    return 0;
}

根本原因,你的PC 是32位的系统吧?