![]() |
|
![]() ![]() ![]() |
|
v2v |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
Открываю для себя мир функционального программирования. Решил написать парочку тестовых програмок на языке erlang что бы понять возможности/преимущества/недостатки. Естественно сразу появились вопросы. В связи с необразованностью в этой области некоторые вопросы будут звучать глупо, не ругайте сильно.
Собственно программа на которой я застрял - вычисление суммы всех простых чисел меньше Н. Правильный рабочий код получилось написать довольно быстро, но вот получить желаемого результата не удаётся. Дело в том что квадратичная сложность кода делает его непригодным для чисел больше нескольких сот тысяч. 1. Не хватает аккумулятора (переменной в памяти), куда можно было бы скидывать уже найденные простые числа, и пользоваться при следующих итерациях. Как жить без переменных?
2. При попытке в условном операторе if вызвать функцию, компилятор ругается. Так нельзя делать? Почему?
3. В командной строке ерланга как можно декларировать функции? Обязательно ли создавать их в отдельном файле? -- на пока хватит. Это сообщение отредактировал(а) v2v - 9.3.2011, 08:40 |
||||
|
|||||
k0rvin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: нет Всего: 5 |
1. передавайте аккумулятор параметром:
собсвенно единственная ошибка в Вашем коде -- отсутствие проверки X == 0 в sum_prime_below, отчего она уходит в бесконечную рекурсию. можно и так написать:
но вообще, если у Вас цель изучить именно ФП, то лучше взять Хаскелл Это сообщение отредактировал(а) k0rvin - 9.3.2011, 08:00 -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
![]() ![]() ![]() |
Правила форума «Функциональные языки: общие вопросы» | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |