Haskell не смог найти модуль `System '

Я новый с HASKELL и возникает проблемы с его пакетом.

Я хочу импортировать System.random, но

не смог найти модуль `system.random '

, затем я пытался импортировать систему, но

не удалось найти модуль« Система ».

Это член скрытого пакета `haskell98-2.0.0.0 '.


Я пытался искать эту проблему, но эти решения все еще не работают.

Как Это , сказал, я попытался установить Cabal на мою Mac OS X с помощью MacPort, но

ошибка: были не установлены следующие зависимости: GHC Ошибка: Состояние 1, встречающееся во время обработки.

Я установил платформу Haskell и может использовать GHCI в командной строке. GHCI, версия 7.2.1


Затем я попытался использовать GHC-PKG EXPOSE HASKELL98-2.0.0.0 как этот говорит.

Но на этот раз я даже не могу запустить GHCI.

Верхний уровень:

неоднозначный интерфейс для `prelude ':

Был найден в нескольких пакетах: Base Haskell98-2.0.0.0


Итак, что я могу сделать без использования Cabal?

--- 737719- [117679719-

Может ли масштаб алгоритмов грубой силы? У меня есть математическая проблема, которую я решаю по пробным и ошибкам (я думаю, что это называется грубой силой), и программа работает нормально, когда есть несколько вариантов , но как я добавляю больше переменных / данных, он занимает больше времени ...

У меня есть математическая проблема, которую я решаю по пробным и ошибкам (я думаю, что это называется грубой силой), и программа работает нормально, когда есть несколько Варианты, но как я добавляю больше переменных / данных, требуется дольше и дольше.

Моя проблема - хотя, хотя прототип работает, это полезно с тысячами переменных и больших наборов данных; Итак, мне интересно, можно ли масштабировать алгоритмы грубой силы. Как я могу приблизиться к расширению масштабирования?

Я начинал учиться и играть вокруг Hadoop HBASE ); Хотя это выглядит многообещающе, я хотел проверить, что я пытаюсь сделать, не невозможно.

Если это поможет, я написал программу в Java (и может использовать ее, если это возможно), но в конечном итоге портировал его к Python, потому что я чувствую себя более комфортно с этим.

Обновление: Чтобы обеспечить больше внимания, я думаю, что добавлю упрощенную версию кода, чтобы получить идею. В основном, если я знаю, что сумма 100, я пытаюсь найти все комбинации переменных, которые могут сравниться с этим. Это просто, в моей версии я могу использовать большие числа и многое другое переменные. Это диофантин, и я полагаю, что нет алгоритма, который существует, чтобы решить его без грубой силы.

int sum = 100;
int a1 = 20;
int a2 = 5;
int a3 = 10;
for (int i = 0; i * a1 <= sum; i++) {
    for (int j = 0; i * a1 + j * a2 <= sum; j++) {
        for (int k = 0; i * a1 + j * a2 + k * a3 <= sum; k++) {
            if (i * a1 + j * a2 + k * a3 == sum) {
              System.out.println(i + "," + j + "," + k);
            }
        }
    }   
}

Я новичок в программировании, и мне жаль, если я не образую этот вопрос правильно. Это более общий вопрос.

7
задан Peter Mortensen 15 September 2011 в 16:24
поделиться