Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricerca personalizzata

[Algoritmi] Esercizio troppo facile? Divide&Conq prodotto

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto UtenteMassimoB

0
voti

[1] [Algoritmi] Esercizio troppo facile? Divide&Conq prodotto

Messaggioda Foto UtentePatras » 31 ago 2017, 14:51

Ciao a tutti! Ho fatto un esercizio che mi sembra troppo semplice per la verifica in cui si trovava. Forse è stato buttato come chance di recupero. Ecco la consegna:
Dato un vettore a_1, ..., a_n di n interi, si vuole calcolarne la produttoria a_1, ..., a_n. Si scriva lo pseudo-codice di un algoritmo di complessità ottima che utilizzi la tecnica divide-et-impera con partizione bilanciata dei dati.

Io l'ho scritto in java per abitudine. Però se n è dispari bisogna fare un controllo perché non si può dividere in due parti. Vi sembra giusto? O manca qualcosa?

Codice: Seleziona tutto
public static int getProduct(int[] v)
{
   int prod=v[length-1]; //tanto lo sovrascrivo n è pari
   if(v.length%2=0)
      prod = product(v,0,v.length-1);
   else
      prod *= product(v,0,v.length-2);
   return prod;
}
private static int product(int[] a, int j, int i)
{
   if(i==j+1)
      return a[j]*[i];
   int mid=(j+i)/2;
   return product(a, i, mid)*product(a, mid+1, j);
}

Avatar utente
Foto UtentePatras
51 1 7
Frequentatore
Frequentatore
 
Messaggi: 130
Iscritto il: 24 mag 2017, 15:27

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti