Notas del algoritmo mínimo común múltiplo

Ideas

  • Al ingresar un número, busque el mínimo común múltiplo actual junto con el mínimo común múltiplo existente
  • El mínimo común múltiplo del primer número ingresado es él mismo
  • Mínimo común múltiplo = (a / máximo común divisor) * b
  • Tenga cuidado de no utilizar a * b / máximo común divisor para evitar el desbordamiento

Código

#include <stdio.h>
#include <iostream>
using namespace std;

int gcd(int a,int b){
    
    
    if(b==0)
        return a;
    else
        return gcd(b,a%b);
}

int main(){
    
    
    int n=0;
    while(scanf("%d",&n)!=EOF){
    
    
        while(n--){
    
    
            int m=0;
            scanf("%d",&m);
            int a=0,b=0;
            for(int i=0;i<m;i++){
    
    
                if(i==0){
    
    
                    scanf("%d",&a);
                    continue;
                }
                else{
    
    
                    scanf("%d",&b);
                    int gcdab=gcd(a,b);
                    a=a/gcdab*b;//避免溢出
                    continue;
                }
            }
            printf("%d\n",a);
        }
    }
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/Cindy_00/article/details/108690377
Recomendado
Clasificación