[Algoritmi] Equazione Ricorrenza
Spero di aver azzeccato la sezione giusta
Qual'è l'equazione di Ricorrenza del seguente algoritmo?
Algoritmo (n: integer) : integer
{ int r=0;
if (n>= 5)
{for (int k=1; k<=n-1; k++)
for( int j= [n/k] - 2 ; j>= [n/k+1]; j-- )
r=r+2;
Algoritmo ([n/2]) + 5
}
else r=5
}
ps: le parentesi quadre indicano floor.
[xdom="Martino"]Sposto in informatica[/xdom]

Qual'è l'equazione di Ricorrenza del seguente algoritmo?
Algoritmo (n: integer) : integer
{ int r=0;
if (n>= 5)
{for (int k=1; k<=n-1; k++)
for( int j= [n/k] - 2 ; j>= [n/k+1]; j-- )
r=r+2;
Algoritmo ([n/2]) + 5
}
else r=5
}
ps: le parentesi quadre indicano floor.
[xdom="Martino"]Sposto in informatica[/xdom]
Risposte
Benvenuto
mi sa di no. Algoritmi -> Informatica
questo pseudo-codice mi sa che è sbagliato, se dichiari esserci un valore integer come ritorno, non vedo il suo equivalente nel corpo... meglio che lo rivedi presumo sia tipo
due consigli utilizza i tag [code] così non perdi l'indentazione, e metti le parentesi per racchiudere bene i cicli indentati.
Per calcolare tale ricorrenza, inizia con il valutare i costi dell'algoritmo.
"RemovedQuasar":
Spero di aver azzeccato la sezione giusta![]()
mi sa di no. Algoritmi -> Informatica
Qual'è l'equazione di Ricorrenza del seguente algoritmo?
Algoritmo (n: integer) : integer { int r=0; if (n>= 5){ for (int k=1; k<=n-1; k++) for( int j= [n/k] - 2 ; j>= [n/k+1]; j-- ) r=r+2; Algoritmo ([n/2]) + 5 } else r=5 }
ps: le parentesi quadre indicano floor.
questo pseudo-codice mi sa che è sbagliato, se dichiari esserci un valore integer come ritorno, non vedo il suo equivalente nel corpo... meglio che lo rivedi presumo sia tipo
Algoritmo (n: integer) : integer { int r=0; if (n>= 5){ for (int k=1; k<=n-1; k++) for( int j= [n/k] - 2 ; j>= [n/k+1]; j-- ) r=r+2; Algoritmo ([n/2]) + 5 } else r=5 return r }
due consigli utilizza i tag [code] così non perdi l'indentazione, e metti le parentesi per racchiudere bene i cicli indentati.
Per calcolare tale ricorrenza, inizia con il valutare i costi dell'algoritmo.
Mi scuso sia per la sezione sbagliata sia per non aver utilizzato i tag. Cmq farò come dici.
ps: però il codice originale era come l'ho copiato.
ps: però il codice originale era come l'ho copiato.
"RemovedQuasar":
ps: però il codice originale era come l'ho copiato.
allora secondo me potrebbe essere così:
int Algoritmo (int n){ int r=0 if(n>=5){ for (int k=1;k<=n-1;k++){ for( int j= floor(n/k)-2;j>= floor(n/k+1);j--){ r=r+2; } r = Algoritmo(floor(n/2)) + 5 } } else r=5 return r }
prima cosa da fare calcolare i costi dell'algoritmo, che sono la funzione libera dell'equazione di ricorrenza.