Циклический сдвиг - 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
Листинг программы
  1. string a = "abracadabra";
  2.                         string b = "a";
  3.                         int count = new Regex(b, RegexOptions.IgnoreCase).Matches(a).Count;
  4.                         for (int i = 1; i < b.Length; i++)
  5.                         {
  6.                             b = b.Substring(1) + b[0];
  7.                             count += new Regex(b, RegexOptions.IgnoreCase).Matches(a).Count;                
  8.                         }
  9.                         Console.WriteLine(count);
  10.                         Console.ReadKey(true);

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


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

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

15   голосов , оценка 4.267 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы