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