Informatică, întrebare adresată de 1Valeria, 9 ani în urmă

Dau coroana !!!
Scrieți programul care calculează valoarea expresiei S(n)=1+3+5+..+(2n-1) folosind o funcție recursiva care calculează suma dată.

Răspunsuri la întrebare

Răspuns de facebookaugusti
2
Program Pn;
var
n:integer;
function f(n:integer):integer;
begin
if n=1 then f:=1 else
f:=f(n-1)+(2*n-1);
end;
begin
Writeln('Dati n');
readln(n);
Writeln(f(n));
readln;
end.

facebookaugusti: coroana plz
Răspuns de IuliaPârvu
2
N = nr de numere din suma
2n-1 = ultimul termen
Suma primului termen cu ultimul este egala cu suma celui de-al doilea cu penultimul si tot asa.
Suma primului cu ultimul e 2n
Nr de perechi e n/2
Deci suma = suma primului si a a ultimului de n/2 ori.
S(n) = n*n
(Verifica prin inductie)

1Valeria: Mai explicit te rog, și am nevoie de program.
facebookaugusti: Il ai mai jos. Nu-ti fa grij e corect.
IuliaPârvu: Pot sa-ti scriu doar in pseudocod, si de acolo sa faci tu.
IuliaPârvu: Ai, spre exemplu, n=3. Suma ta o sa fie 1+3+5=9. 1+5 e o pereche(suma primului cu ultimul) si 3 e egal cu jumatate din perechea aia. Nr de perechi = 3/2 = 1.5 si suma =6*1.5=6+3=9
facebookaugusti: Are tot programul mai jos... Nu inteleg...e vreo erroare si nu-l vede nimeni ???
IuliaPârvu: Nu, se vede.
facebookaugusti: http://imgur.com/a/QulEc
facebookaugusti: chiar nu se vede sau glumesti ?
IuliaPârvu: Se vede.
Alte întrebări interesante