Описать методы для выполнения задания двумя способами: через цикл и используя механизм рекурсии - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д