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% сигурен, че следвам условието на задачата правилно.
Също така коментари как подобря кода са добре дошли.