Informatică, întrebare adresată de Rayzen, 8 ani în urmă

Recursivitate.

Ce calculeaza algoritmul ALGO1?

Am nevoie de ajutor la subpunctul c).

Anexe:

OmuBacovian: ALGO2 face asta, algo1 nu știu ce face
Rayzen: ALGO1 creeaza o matrice patratica.
Rayzen: pentru x = [8,2,4,6,1,3]
returneaza asta:
https://i.gyazo.com/b4f19238be2f3b67ed29bcfa459c0a11.png
Rayzen: Dar nu imi dau seama ce face mai exact.
boiustef: Calculează numerele din triunghiul Pascal.... eu am răspuns la subpunctul b) uitaţi-Vă acolo... şi subpunctul c) l+am lăsat pe mâine, dar poate îl ajutaţi voi, că eu mă retarag obosit... :))) noapte bună
Rayzen: Daca introduc numerele 1,1,1,1,1,1
imi afiseaza:

1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
Rayzen: De fapt:
https://i.gyazo.com/2d65be5a49ade9814b6c69e7552598d4.png
Rayzen: Noapte buna !
boiustef: Am intervenit aseară aici, şi nici nu am observat că subpunctul c) aici e de la altă problemă... ;)))
Rayzen: :))) Daa. Am observat :D

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

In primul rand, algo2 calculeaza suma tuturor elementelor x[i] + x[i+1] + x[i+2] + \cdots + x[j-1] + x[j], cu j \geq i, prin metoda DIVIDE ET IMPERA.

Dupa se observa in algo1 ca parametrul j de la algo2 va fi intotdeauna mai mare sau egal cu i, deoarece for-ul are valoarea initiala i.

Mai departe, daca se atribuie o valoare elementului b[i][j], atunci matricea va fi completata doar deasupra diagonalei principale.

Deoarece pe diagonala principala avem i = j, elementul returnat de algo2 este x[i], deci toate elementele de pe diagonala principala vor avea valoarea elementului x[i].

Dupa pentru restul elementelor, un element b_{ij} va avea valoarea x_i + x_{i+1} + x_{i+2} + \cdots + x_{j-1} + x_{j}.

Astfel elementul b_{ij} va avea valoarea sumei elementelor din vectorul x de la indicele randului pana la indicele coloanei.

(astfel daca acum avem, dintr-un anume motiv, de suma  x_i + x_{i+1} + x_{i+2} + \cdots + x_{j-1} + x_j, o putem gasi la b[i][j])


Rayzen: Multumesc !!
Rayzen: Nu mă gândisem la asta.!
Alte întrebări interesante