Професионална програма
Loading...
+ Нов въпрос
kodzhamanov avatar kodzhamanov 0 Точки

Arrays More Exercises: 03. Recursive Fibonacci

    using System;
    using System.Diagnostics.CodeAnalysis;
    using System.Globalization;
    using System.Linq;
    using System.Xml.Schema;
    using System.Text;
    using System.Numerics;
using System.Diagnostics.Tracing;

namespace zadacha
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            if (n == 0)
            {
                Console.WriteLine(0);
            }
            else if (n == 1 || n==2)
            {
                Console.WriteLine(1);
            }
            else
            {
                int[] arr = new int[n];
                foreach(int a in arr)
                {
                    arr[a]= 0;
                }
                arr[0] = 1;
                arr[1] = 1;
                
                bool go = true;
                while (go)
                {
                    for (int i = n; i >= 0; i--)
                    {
                        if (i >= 3)
                        {
                            if (arr[i - 1] == (arr[i - 2] + arr[i - 3]) && arr[i - 1] > 0) 
                            {                          
                                break; 
                            }
                            arr[i - 1] = arr[i - 2] + arr[i - 3];  
                            // Console.WriteLine(arr[i - 1] + " i=" + (i));
                        }
                    }
                    if (arr[n - 1] > 0 && (arr[n - 1] == (arr[n - 2] + arr[n - 3])))
                    {
                        go = false;
                        Console.WriteLine(arr[n - 1]);
                    }
                }
            }
        }
    }
}

 

Това което съм направил рекърсив ли е? Не съм 100% сигурен, че следвам условието на задачата правилно.

Също така коментари как подобря кода са добре дошли.

Тагове:
0
Fundamentals Module 30/10/2020 20:00:06
nickwork avatar nickwork 655 Точки

Това не е рекурсия...рекурсията е метод, който вътре в тялото си вика отново сам себе си...намерих тази тема за теб : https://softuni.bg/forum/29993/03-recursive-fibonacci-csharp-fundamentals прегледай я и си мисля, че ще ти стане ясно.

0