最小公倍数(数字较大)遇到的问题

有两个没过,样例2 不知道为什么跟答案不一样。请大家看看代码有哪可以改正的,谢谢!

img

img

img

代码


```c
#include<stdio.h>
#include<math.h>
long long int goyue(long long int a,long long int b);
int main(){
long  long int a,b,yue,c;
    scanf("%lld %lld",&a,&b);
    if(a<0)a=-a;
    if(b<0)b=-b;
   
    if(b==0){
        printf("%lld",b);
        return 0;
    }
    yue =goyue(a,b);
    printf("%lld",(a*b)/yue);
    return 0;
}
long long int goyue(long long int a,long long int b){
   
    if(a%b==0){
        return b;
    }else{
       return  goyue(b,a%b);
    }
}


希望采纳


#include <stdio.h>

int main() {
    int num1, num2;
    printf("请输入两个整数:");
    scanf("%d%d", &num1, &num2);

    int max = num1 > num2 ? num1 : num2;
    int min = num1 < num2 ? num1 : num2;

    int result = max;
    while (result % min != 0) {
        result += max;
    }

    printf("两个整数%d和%d的最小公倍数是%d\n", num1, num2, result);
    
    return 0;
}