Cześć, mam zadanie do rozwiązania o treści "Stwórz funkcję string Linia3(uint n), która działa rekurencyjnie i zwraca tekst (string) zawierający jedynie parzyste liczby z przedziału od n do 1 (włącznie), oddzielone przecinkiem. Po ostatniej liczbie brak przecinka. Przykład zwróconego tekstu: "8,6,4,2""
Napisałam następujący kod ale zwraca liczby od 0 a w przypadku liczby nieparzystej zwraca o jedną za dużo i nie bardzo wiem co zrobić aby działało poprawnie:
static string Linia3(uint n)
{
if (n>0)
{
if (n % 2 == 0)
{
return string.Format("{0},{1}",n, Linia3(n - 2));
}
return string.Format("{0},{1}",n-1, Linia3(n - 1));
}
else
{
return "0";
}
}
static void Main(string[] args)
{
uint a = 5, b = 8;
Console.WriteLine(Linia3(a));
Console.WriteLine(Linia3(b));
Console.ReadKey();
}