24
Окт
2012

Откуда в последовательности Фибоначчи отрицательное число?

Всех приветствую! Нахожу последовательность Фибоначчи с помощью рекурсии

public class Main {

    static int fib(int n) {
        if (n == 1 || n == 2) return 1;
        return fib(n - 2) + fib(n - 1);
    }

    public static void main(String[] args) {
        for (int i = 1; i < 100; i++) System.out.println(fib(i));
    }
}

Вот часть результата:

267914296
433494437
701408733
1134903170
1836311903
-1323752223
512559680

Кто-нибудь может объяснить откуда здесь отрицательное число и как вывести остальные числа на экран после 1836311903? Я поменял тип данных на long, но результат не изменился. Используемая IDE NetBeans.

Источник: https://ru.stackoverflow.com/questions/156569/%D0%9E%D1%82%D0%BA%D1%83%D0%B4%D0%B0-%D0%B2-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%A4%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8-%D0%BE%D1%82%D1%80%D0%B8%D1%86%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D1%87%D0%B8%D1%81%D0%BB%D0%BE

Share

Тебе может это понравится...