ofer coroană Urgent
c++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using std::cout, std::cin, std::endl;
// funcția returnează câți termeni impari sunt în primii N termeni ai șirului lui Fibonacci
static int contorNrImpare(int N) {
int primulTermen = 0, alDoileaTermen = 1, termenCurent = 0, contorNr = 0;
while (termenCurent <= N) {
primulTermen = alDoileaTermen;
alDoileaTermen = termenCurent;
termenCurent = primulTermen + alDoileaTermen;
// dacă termenCurent este impar incrementăm contorul
if (termenCurent % 2 != 0) ++contorNr;
}
// la final returnăm numărul de nr. impare din șir
return contorNr;
}
int main() {
int N;
cout << "Introdu N (de ex 100) >> ";
// citim N-ul
cin >> N;
// și afișăm numărul de termeni impari din șir de ex. pentru N = 100 șirul este 0 1 1 2 3 5 8 13 21 34 55 89 în care se află 8 termeni impari
cout << "In primii " << N << " termeni ai sirului sunt " << contorNrImpare(N) << " termeni impari!" << endl;
return 0;
}