Fibonacci

n
 fibonacci sonin1
van2
fibonacci sonlari yig'indisiga teng.  dastlabki 2 ta fibonacci sonlar
0
va1
ga teng.
Dastlabki 10 ta fibonacci sonlarni hisoblab chop etadigan dastur tuzing.
int a = 0, b = 1, c = a + b;
cout << a << " " << b << " " << c << " ";
 yuqorida dastlabki 3 ta fibonacci sonlar hisoblab chop etilgan
Keyingi fibonacci sonni hisoblab topish uchun so'ngi ikkita fibonacci sonlar b
va c
ni qo'shish kerak.
Lekin bu usul optimal kod emas, chunki yuqoridagi algoritm reusable
emas. Ya'ni yuqoridagi algoritmni qaytarish orqali keyingi fibonaccini topib bo'lmaydi.
Quyidagi kodga qarang:
b = c;
a = b;
c = a + b;
cout << c << " ";
Yuqoridagi kod optimal algoritm. Keyingi fibonaccini topish uchun yuqoridagi kodni shunchaki copy/paste qilish kifoya.
Barcha kod
int a = 0, b = 1, c = a + b;
cout << a << " " << b << " " << c << " "; // dastlabki 3 ta fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 4fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 5fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 6fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 7fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 8fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 9fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 10fibonacci
Top comments (0)