Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

funzione ricorsiva mcm (c++)

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

funzione ricorsiva mcm (c++)

Messaggioda ivan92 » dom gen 25, 2009 4:10 pm

mi potreste dire la definizione della funzione ricorsiva del minimo comune multiplo?...
Avatar utente
ivan92
Senior Member
Senior Member
 
Messaggi: 285
Iscritto il: mer gen 09, 2008 4:48 pm
Località: orsago( tv)

Re: funzione ricorsiva mcm (c++)

Messaggioda M@ttia » dom gen 25, 2009 4:35 pm

Solitamente si parte dal fatto che:
Codice: Seleziona tutto
mcm(a,b) * MCD(a,b) = a * b
e quindi si scrive una funzione ricorsiva per il GCD (il famoso Algoritmo di Euclide) e poi si ritorna mcm(a,b) := (a * b) / MCD(a,b,)

L'algoritmo di Euclide per il GCD è molto semplice:

Formula Diretta (quindi non-ricorsiva):
Codice: Seleziona tutto
 function MCD(a, b)
     while a ≠ b
         if a > b
             a := a - b
         else
             b := b - a
     end while
     return a


Formula Ricorsiva:
Codice: Seleziona tutto
   
 function MCD(a, b)
  if b = 0
    return a;
  else
    return MCD(b, a % b);     <- Qui con a % b intendo a MOD b, che in C++, ecc. si scrive appunto tramite l'operatore %
}
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Re: funzione ricorsiva mcm (c++)

Messaggioda ivan92 » dom gen 25, 2009 6:33 pm

grazie mille
Avatar utente
ivan92
Senior Member
Senior Member
 
Messaggi: 285
Iscritto il: mer gen 09, 2008 4:48 pm
Località: orsago( tv)

Re: funzione ricorsiva mcm (c++)

Messaggioda M@ttia » dom gen 25, 2009 8:29 pm

Prego [^]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising