Informatică, întrebare adresată de 666problemss, 9 ani în urmă

Scrieti formula recursiva de calcul a sumei primilor n termeni S(n)=0+2+5+8+11+...+____. Elaborati un program care:
citeste numarul termenilor de la tastiera;
intr-un subprogram calculeaza recursiv suma S(n);
afiseaza la ecran suma primilor n termeni.

Răspunsuri la întrebare

Răspuns de Razzvy
2
#include <iostream>
using namespace std;

int suma(int n)
{
   if(n == 1) return 0;
   if(n == 2) return 2;
   
   return 3 + suma(n - 1);
}

int main()
{
   int n;
   cin>>n;
   cout<<suma(n);
}

express: Bravo Razzvy...frumoasa sursa...eu am ignorat problema dupa "citirea numerelor de la tastiera"
666problemss: Pai, mai bine ati ajuta decat ati comenta fara rost. Merci.
express: Din intamplare ai gasit pe cineva sa-ti faca o sursa frumoasa desi nu ai avut nici macar grija sa te exprimi corect - eu am apreciat doar sursa ...nu si exprimarea ta...e posibil ca altadata sa nu mai primesti ajutor.
666problemss: Eu am copiat exercitiul din carte.
express: Cartea este scrisa in Romania?
666problemss: Da. :) Daca nu ai cu me ma ajuta, nu-ti pierde timpul.
express: Am sa-ti retin numele si am sa evit sa-ti rezolv problemele...
666problemss: M-ai atins.
Răspuns de lozanalex
2
var n:integer;

function suma(n:integer):integer;
begin
  if (n=1) then suma:=0  else
   begin
    if (n=2) then suma:=2
    else suma:=3+suma(n-1);
  end;
end;

begin
  read(n);
  write(suma(n));
end.
Alte întrebări interesante