Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java tìm tổng chẵn của dãy Fibonacci đến số N


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