Tehnici avansate și implementări alternative
Când lucrezi cu funcții în C++, există trei moduri principale de a returna valori:
- Prin returnare directă - folosind
return:
int suma_cif(int x) {
// calcul...
return S;
}
- Prin afișare - funcția afișează direct rezultatul:
void suma_cif(int x) {
// calcul...
cout << S;
}
- Prin parametru de ieșire - folosind referințe (
&):
void suma_cif(int x, int &S) {
S = 0;
// calcul...
}
Optimizarea algoritmilor este esențială pentru eficiență. De exemplu, pentru verificarea primalității, o versiune optimizată ar fi:
bool estePrim(long n) {
if(n < 2) return false;
if(n == 2) return true;
if(n % 2 == 0) return false;
for(long i = 3; i*i <= n; i += 2)
if(n % i == 0)
return false;
return true;
}
Când implementezi algoritmi recursivi, fii atent la condițiile de bază. De exemplu, Fibonacci recursiv:
long fibonacci(long n) {
if(n <= 2) return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
💡 Sfat de optimizare: Recursivitatea este elegantă, dar poate duce la probleme de performanță pentru valori mari. Pentru algoritmi precum Fibonacci, implementările iterative sunt de obicei mai eficiente.
Experimentează cu acești algoritmi fundamentali - ei formează baza pentru rezolvarea problemelor mai complexe în informatică!