Циклический сдвиг - 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);

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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