Вниз  Haskell
- 28.10.2015 / 11:41copy  #431470
Bogdan-G
  Пользователь

 
Сейчас: Offline
Naik, все замки от честных людей :gg:
- 3.01.2016 / 15:05copy  #445853
ДубоХирург
  Пользователь

 
Сейчас: Offline
Почему в gtk2hs нельзя рисовать точку с нецелочисленными координатами? Это провал, товарищи
- 3.01.2016 / 15:08copy  #445857
ДубоХирург
  Пользователь

 
Сейчас: Offline
Ксакеп, как лучше посчитать период и предпериод последовательности?
Я делал как-то так, но оно не очень работает:
Открыть спойлер

- 3.01.2016 / 16:31copy  #445870
aRiGaTo
  Пользователь

 
Сейчас: Offline
ДубоХирург, Либо я что-то не так понимаю (ибо не Ксакеп), либо ты. Уверен, что ищешь период? Скорее индекс периода длиною в 2 элемента.
Так же не совсем точная постановка задачи: может ли последовательность содержать периодическую подпоследовательность? Про предпериоды ты написал. А может ли встретиться «постпериод»?

Я бы искала так:
0. n = 2
1. Разделить последовательность на n частей
2. Сравнить подпоследовательности в порядке их следования (возможно, позволит учитывать «постпериод», если такое не требуется, то порядок не важен - главное, чтобы все были одинаковыми)
3. Если совпадают несколько рядом стоящих подпоследовательностей - период найден, иначе увеличить n
4. Если подпоследовательности получаются пустыми, период не найден. Для учета предпериода - смещаем последовательность на элемент вправо. И так далее
__________________
 lys mit lys

Изменено aRiGaTo (3.01 / 16:32) (всего 1 раз)
- 3.01.2016 / 17:00copy  #445875
ДубоХирург
  Пользователь

 
Сейчас: Offline
aRiGaTo, да, я не всё написал.
Последовательность определяется реккурентным соотношением:
xn = (a*x(n-1)+b*x(n-2)+c)%m
Я это использую, и ищу совпадающие пары
Не могу себе представить последовательность с постпериодом, ведь числовые последовательности, в общем-то, не имею конца

Изменено ДубоХирург (3.01 / 17:01) (всего 1 раз)
- 7.01.2016 / 20:19copy  #447292
ДубоХирург
  Пользователь

 
Сейчас: Offline
Чутка переформулирую задачу в соответствии с текущими условиями:
Дан линейный конгруэнтный ГПСЧ:

Где a, b, c, m - константы, заранее неизвестные.
  1. gen :: Int -> Int -> Int -> Int -> Int -> Int -> Int
И для этого генератора надо вычислить период, т. е. написать функцию:
  1. period :: (Int -> Int -> Int) -> Int
В принципе, рабочий вариант этой функции у меня уже был, но он использовал списки, а по заданию это запрещено. Как это более-менее красиво реализовать без списков?
Пока в голову приходят только итеративные варианты, которые реализовывать не очень красиво.

Изменено ДубоХирург (7.01 / 20:20) (всего 1 раз)
- 19.01.2016 / 21:50copy  #450010
ДубоХирург
  Пользователь

 
Сейчас: Offline
https://github.com/SeTSeR/HaskellRandom
Вот, написал, если вдруг кому поможет
Таки итеративный вариант

Изменено ДубоХирург (19.01 / 21:50) (всего 1 раз)
- 9.05.2016 / 18:08copy  #461504
vl@volk
  Пользователь

 
Сейчас: Offline
Слегка непонятный, но забавно очень. Особенно эта сложность с вводом кучи символов, которые нужно знать все, чтоб начать писать :)
__________________
 \m/
- 15.04.2017 / 15:48copy  #485720
Ксакеп
  Модератор форума

 
Сейчас: Offline
Тем кто хочет попробовать изучить Haskell рекомендую посмотреть курсы на https://stepik.org
__________________
 Я говорю что по моему имхо считаю что не нужно
- 19.04.2017 / 08:44copy  #485951
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
зачем?
Предупреждение от Ксакеп:
Причина: малосодержательное сообщение.
Наверх  Всего сообщений: 40
Фильтровать сообщения
Поиск по теме
Поиск по форуму
Новые вверху
  © aNNiMON (Melnik Software)
Онлайн: 30 (0/30)
 
Яндекс.Метрика