Các kỹ thuật lập trình với mảng một chiều và minh họa với C++
Trong bài này, chúng ta cùng xem cách nhập giá trị cho mảng, truy xuất phần...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
1. Dãy số Fibonacci là gì? Dãy số Fibonacci là dãy vô hạn các số nguyên dương bắt đầu bằng hai phần tử 0 và 1. Các phần tử sau đó tuân theo quy tắc: mỗi phần tử luôn bằng tổng hai phần tử trước nó. Ví dụ: 0, 1, 1, 2, 3, 5, 8, […]
Dãy số Fibonacci là dãy vô hạn các số nguyên dương bắt đầu bằng hai phần tử 0 và 1. Các phần tử sau đó tuân theo quy tắc: mỗi phần tử luôn bằng tổng hai phần tử trước nó. Ví dụ: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,…
Công thức truy hồi của dãy số Fibonacci là: S(n) = S(n-1) + S(n-2) với S(0) = 0 và S(1) = 1.
Trong lập trình, có 2 dạng yêu cầu phổ biến khi thao tác với dãy số Fibonacci là:
1. Nhập n, xuất ra n chữ số đầu tiên trong dãy số Fibonacci
2. Tìm phần tử thứ n trong dãy số Fibonacci
Trong bài này, các ví dụ sẽ chủ yếu giải quyết yêu cầu: nhập n, xuất n chữ số đầu tiên trong dãy số Fibonacci.
Đoạn code bên dưới sử dụng vòng lặp for để tìm dãy số Fibonacci trong C++.
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cout << "Nhap vao mot so nguyen duong: ";
cin >> n;
int n1 = 0, n2 = 1;
if (n == 1) {
cout<<n1;
} else if (n == 2) {
cout<<n1<<" "<<n2;
} else {
cout<<n1<<" "<<n2;
int tempNthTerm;
for (int i = 3; i <= n; i++) {
tempNthTerm = n1 + n2;
cout<<" "<<tempNthTerm;
n1 = n2;
n2 = tempNthTerm;
}
}
return 0;
}
Kết quả
Nhap vao mot so nguyen duong: 5
0 1 1 2 3Đoạn code bên dưới sử dụng đệ quy để tìm dãy số Fibonacci trong C++.
#include <iostream>
#include <cmath>
using namespace std;
//Ham de quy tim day so Fibonacci
int findFibonacci(int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
return findFibonacci(n - 2) + findFibonacci(n - 1);
}
int main() {
int n;
cout << "Nhap vao mot so nguyen duong: ";
cin >> n;
for (int i = 0; i < n; i++) {
cout<<findFibonacci(i)<<" ";
}
return 0;
}
Bài này đã trình bày cách sử dụng vòng lặp for và đệ quy để xuất n chữ số đầu tiên trong dãy số Fibonacci. Các bạn hãy viết chương trình C++ tìm phần tử thứ n trong dãy số Fibonacci.