Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int suma(int n, int pas)
{
if (n<=0) return 0;
else return n+suma(n-pas,pas);
}
int main()
{
cout << suma(100,2) << "\n";
cout << suma(100,1)-suma(99,2);
}
Explicație:
C nu cunosc, dar cred logica îţi trebuie... Am creat o funcţie recursivă ce calculează suma numerelor în care se foloseşte i pasul de descreştere pentru a forma numerele precedente. La apelul suma(100,1) se vor aduna numerele 100+99+98+...+1, iar cu apelul suma(99,2) se va face suma 99+97+95+...+1. Totuşi am accentuat că
(1+2+3...+100) - (1+3+5...+99) = 2+4+6+...+100, deaceea în cod am folosit si
apelul suma(100,2) care face suma parelor. Ai posibilitate să vezi că rezultatele acestor apeluri coincid
Sper că e ceea ce aştepţ... Succese
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!