Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Всем доброго времени суток, хочу спросить одну вещь о префикс - функциях. Как с её помощью выделить период в дробной части числа? Читал о префикс - функциях и даже решил задачу на поиск подстроки с префикс - функцией(алгоритм КМП), но всё равно не понимаю как её использовать чтобы выделить границы периода в частном. Может кому то этот вопрос может показаться глупым, но всё же буду рад любому совету или коду. Например ввожу я такие данные: Вывод, последовательность чисел после запятой 1/7 - 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 - тут период равен (1 4 2 8 5 7) 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 - префикс этой последовательности 1/3333 - 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 - период (0 0 0 3) 0 1 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 - префикс 3) 1/300 - 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 - период (3), цифры перед периодом (0 0) 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - префикс как в этих примерах использовать данные префиксов чтобы найти период?
1
  1  Неизвестный, 26 июля 2018 г. 11:43:25
      Задача 547:"Период дроби" разбор есть на ютубе,так будёт понятнее.
  2  Меньшиков Фёдор Владимирович, 24 июля 2018 г. 15:20:04
      Рахим, на примере 1/7. Получаем 3n цифр после запятой: 0.142857142857142857142 Берём вторую группу из n цифр (4285714) и ищем её со следующей позиции (n+2). Выясняем, что вхождение на 14-й позиции есть. Вычитаем исходную позицию этой группы 8, получаем длину периода 6. Следующая задача - найти предпериод. Начинаем с позиции n + 1 и уменьшаем эту позицию, пока цифра в текущей позиции совпадает с цифрой в позиции (текущая + период). В случае 1/7 выяснится, что предпериод пуст.
  3  Меньшиков Фёдор Владимирович, 24 июля 2018 г. 15:05:41
      Сергей Николаевич, может там сделать input type=text вместо textarea? Так будет совсем понятно, что длинный текст там не по делу.
     Ок, сделал так.
  4  Беляев Сергей Николаевич, 24 июля 2018 г. 14:32:33
      Ок, убрал этот текст для тем, т.к. он действительно лишний.
  5  Хворых Павел, 24 июля 2018 г. 14:14:22
      Поле для ввода названия темы называется "Текст сообщения:", новичков форума это дезинформирует.
  6  Беляев Сергей Николаевич, 24 июля 2018 г. 14:06:57
      Тема форума должна быть лаконичной, без каких либо примеров. Например, можно было бы назвать так: "Выделение периода дробной части числа с использованием префикс-функции", а внутри уже детально привести примеры. Когда темы форума громоздкие, то сложно для читателя выделять интерес и находить ту, которая его заинтересует.
  7  Рахматов Рахим Рабиевич, 24 июля 2018 г. 11:30:06
      Хотел покрасивее выложить ПРИМЕРЫ так сайт не даёт этого сделать
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru