Minimo comune multiplo di due numeri con scomposizione fattoriale

di il
4 risposte

Minimo comune multiplo di due numeri con scomposizione fattoriale

Salve ragazzi, qualcuno ha gia fatto questo in C ?
minimo comune multiplo di due numeri con scomposizione fattoriale in C senza l'uso degli array?
sareste gentili da postare qualche esempio?
Vi ringrazio!!!

4 Risposte

  • Re: Minimo comune multiplo di due numeri con scomposizione fattoriale

    Questa e' facile:
    che relazione c'e' tra il minimo comune multiplo, il massimo comun divisore ed il prodotto dei due numeri?

    Risolvi questo ed il resto e' una passeggiata.

    RICORDA: per imparare a programmare la prima cosa da fare e' imparare ad USARE IL CERVELLO.
  • Re: Minimo comune multiplo di due numeri con scomposizione fattoriale

    Ciao migliorabile,
    grazie per avermi risposto!!

    MCD scomposti i numeri in fattori primi si moltiplicando i fattori primi COMUNI, ciascuno preso una sola volta, col MINIMO ESPONENTE.
    mcm scomposti i numeri in fattori primi si moltiplicando i fattori primi COMUNI e NON COMUNI, ciascuno preso una sola volta, col MASSIMO ESPONENTE.

    mmmm non capisco come posso implementare il tutto in C senza l'uso degli array

    la mia idea era, verifico se il numero piu grande e' divisibile per quello piu piccolo, in quel caso il mcm e' il numero piu grande, altrimenti devo trovare il modo di effettuare una scomposizione dei due numeri e cercare di prendere i fattori primi comuni e non comuni con esponente massimo... ma senza array mi viene un tantinello difficiele avreisti un suggerimento a riguardo ? te ne sono grato
    printf("Inserisci un numero da scomporre in fattori: ");
        scanf("%d", &num);
        
        printf("Inserisci un numero2 da scomporre in fattori: ");
        scanf("%d", &num2);
        
        fflush(stdin);
        printf("\n");
        
        if ( num > num2 ){
            maximal = num ;
            minimum = num2 ;
        }else {
            maximal = num2 ;
            minimum = num ;
        }
        
        if (maximal%minimum ==0)
            printf("mcm : %d", maximal);
        else{
            
        for (i = 2; num >= i; i++) {
            
            //verifico il fattoriale del primo numero
            while ((num % i) == 0) {
                printf("%d\t", i);
                num /= i;
                if(k==0){
                    prim = i;
                    fat = prim;
                    k++;
                
                }else if(i==prim){
                    pot=pow(i,i+j);
                    fat = pot;
                    j++;
            } else
                fat = fat*i;
            }
         
    
        }
  • Re: Minimo comune multiplo di due numeri con scomposizione fattoriale

    Naaaa!!!

    Almeno LEGGITI quello che dice Wikipedia su LCM & GCD!!!
    NON inventarsti spiegazioni, MA USA IL CERVELLO.

    Ti sta' sfuggendo la cosa piu' BANALE: USARE le PROPRIETA' di LCMD & GCD!!!!!!

    La definizione che hai dato e' giusta, ma ti manca la visione di insieme Prova a DIMOSTRARE QUESTO:
    
    A*B = MCM(A,B) * GCD(A*B)
    
    (e' banale e lo hai anche scritto, anche se probabilmente non lo hai capito )

    Per cui ti BASTA implementare il GCD, mediante un algoritmo inventato da Euclide nel 300 Avanti Cristo, UN TANTINO PRIMA dell'invenzione dei computer
    E con Google/Wikipedia, con una BANALE ricerca, trovi la spiegazione di come fare.

    Senza un vettore!
  • Re: Minimo comune multiplo di due numeri con scomposizione fattoriale

    Grazie migliorabile,
    sei stato molto gentile!!! veramente!
Devi accedere o registrarti per scrivere nel forum
4 risposte