Trong bài viết này, chúng ta sẽ tìm hiểu cách tìm tổng các số chẵn trong dãy Fibonacci đến số N. Dãy Fibonacci là chuỗi số hình thành bằng tổng hai số trước. Dãy Fibonacci chẵn bao gồm các số chẵn trong dãy đó.
Dãy Fibonacci tạo số tiếp theo bằng cách cộng hai số trước. Dãy bắt đầu từ F0 & F1. Giá trị khởi tạo có thể là 0, 1 hoặc 1, 1.
Fn = Fn-1 + Fn-2
Ví dụ dãy Fibonacci:
F8 = 0 1 1 2 3 5 8 13
hoặc:
F8 = 1 1 2 3 5 8 13 21
Dưới đây là minh họa tổng chẵn của dãy Fibonacci:
Đầu vào
Giả sử đầu vào:
Giá trị n: 10
Đầu ra
Kết quả mong đợi:
Tổng chẵn của dãy Fibonacci là 10945
Thuật toán
Bước 1 - BẮT ĐẦU Bước 2 - Khai báo ba số nguyên: my_input, i, sum Bước 3 - Nhập giá trị từ người dùng hoặc hardcode Bước 4 - Đọc giá trị Bước 5 - Dùng vòng lặp for lặp từ 1 đến N, gán tổng hai số liên tiếp làm số Fibonacci hiện tại. Bước 6 - Hiển thị kết quả Bước 7 - DỪNG
Ví dụ 1: Nhập từ bàn phím
Người dùng nhập dựa trên lời nhắc. Thử trực tiếp trong coding ground.
import java.util.Scanner;
import java.io.*;
public class FabonacciSum {
public static void main(String[] args) {
int my_input, i, sum;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined");
System.out.println("Enter the value of N: ");
my_input = my_scanner.nextInt();
int fabonacci[] = new int[2 * my_input + 1];
fabonacci[0] = 0;
fabonacci[1] = 1;
sum = 0;
for (i = 2; i <= 2 * my_input; i++) {
fabonacci[i] = fabonacci[i - 1] + fabonacci[i - 2];
if (i % 2 == 0)
sum += fabonacci[i];
}
System.out.printf("Even sum of fibonacci series till number %d is %d", my_input, sum);
}
}
Đầu ra
Required packages have been imported A reader object has been defined Enter the value of N: 10 Even sum of fibonacci series till number 10 is 10945
Ví dụ 2: Giá trị định nghĩa trước
Giá trị đã được định nghĩa trước.
import java.util.Scanner;
import java.io.*;
public class FabonacciSum {
public static void main(String[] args) {
int my_input, j, sum;
my_input = 10;
System.out.println("The value of N: ");
int fabonacci[] = new int[2 * my_input + 1];
fabonacci[0] = 0;
fabonacci[1] = 1;
sum = 0;
for (j = 2; j <= 2 * my_input; j++) {
fabonacci[j] = fabonacci[j - 1] + fabonacci[j - 2];
if (j % 2 == 0)
sum += fabonacci[j];
}
System.out.printf("The even sum of fibonacci series till number %d is %d", my_input, sum);
}
}
Đầu ra
The value of N: The even sum of fibonacci series till number 10 is 10945