Циклический сдвиг - C# (181581)

Узнай цену своей работы

Формулировка задачи:

Нам даны 2 строки A и B. Вывести количество подстрок строки A, являющихся циклическими сдвигами строки B. Сам сдвиг:
Цикл. сдвигом строки S называется строка sk sk+1 sk+2 … s|s| s1 s2 … sk-1 для некоторого k, здесь |s| - длина строки s. Подстрокой строки s называется строка si si+1 … sj-1 sj для некоторых i и j.
Пример: Ввод:
abcabc abc
Вывод:
4
Ап.

Решение задачи: «Циклический сдвиг»

textual
Листинг программы
string a = "abracadabra";
                        string b = "a";
                        int count = new Regex(b, RegexOptions.IgnoreCase).Matches(a).Count;
                        for (int i = 1; i < b.Length; i++)
                        {
                            b = b.Substring(1) + b[0];
                            count += new Regex(b, RegexOptions.IgnoreCase).Matches(a).Count;                
                        }
                        Console.WriteLine(count);
                        Console.ReadKey(true);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5
Похожие ответы