Коровы в городе Фуленд - PullRequest
0 голосов
/ 19 мая 2018

Я проходил через эту проблему -

Коровы в городе FooLand - интересные животные.Одна из их специализаций связана с производством потомства.Корова в FooLand производит своего первого теленка (самка) в возрасте двух лет и продолжает производить других телят (одна самка в год).

Теперь фермер Гарольд хочет знать, сколько животных он будетв конце N лет, если мы предположим, что ни один из телят не умрет, учитывая, что изначально у него есть только одна самка?

Ввод:

В первой строке записано единственное целое числоТ обозначает количество тестовых случаев.Каждая строка теста содержит одно целое число N, как описано в задаче.

Вывод:

Для каждого теста вывести в новой строке количество животных, ожидаемое в конце N лет

Я решил это с помощью приведенного ниже кода-

public static void main (String[] args)
{
    Scanner ab=new Scanner(System.in);
    int t=ab.nextInt();  //number of test cases

    for (int i=0;i<t;i++)
    {
        int n=ab.nextInt(); //years
        int arr[]=new int[n];
        arr[0]=1;
        arr[1]=2;
        if(n>2)
        {
            for(i=2;i<n;i++)
            {
                arr[i]=arr[i-1]+arr[i-2];
            }
        }
        System.out.println(arr[arr.length-1]);


     }
}

Но когда я искал в сети, они дали очень сложное решение в сети -

https://hackerranksolutionc.blogspot.in/2017/10/cows-of-fooland.html

Я попытался сопоставить вывод и обнаружил, что результат тот жедля небольших чисел, но отличается для очень большого числа.

Я хочу знать, что в моем решении что-то не так?

...