Описать методы для выполнения задания двумя способами: через цикл и используя механизм рекурсии - C#
Формулировка задачи:
Последовательность из латинских букв строится следующим образом. На нулевом шаге она пуста. На каждом последующем шаге последовательность удваивается, то есть приписывается сама к себе, и к ней слева добавляется очередная буква алфавита (a, b, c, …). По заданному числу n определить символ, который стоит на n-м месте последовательности, получившейся после шага m.
Помогите, пожалуйста.Желательно,решение по-простенькому.Решение задачи: «Описать методы для выполнения задания двумя способами: через цикл и используя механизм рекурсии»
textual
Листинг программы
using System;
namespace lab
{
class Program
{
static void Main(string[] args)
{
Console.Write("N -> ");
int n = Int32.Parse(Console.ReadLine());
Console.Write("M -> ");
int m = Int32.Parse(Console.ReadLine());
int step = 0;
int st = 0;
char symbol = ' ';
string alf = "abcdefghijklmnopqrstuvwxyz";
string s = "";
string sub = "";
foreach (char c in alf)
{
step++;
if (step > m)
{
st++;
sub = c + sub;
if (st == n)
symbol = c;
}
else
s = c + s;
}
Console.WriteLine("{0}\n{1}\nSymbol = '{2}'", s, sub, symbol);
Console.ReadLine();
}
}
}