Erlang求素数算法

本文介绍了如何使用Erlang语言实现快速排序算法和素数检测功能,详细展示了算法实现过程和核心代码,适用于学习Erlang语言和算法优化的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 -module(libs).
2 -export([qsort/1, isPrime/1, findPrime/2]).
3
4 qsort([H|T]) ->
5 qsort([X || X <- T, X < H])
6 ++ [H] ++
7 qsort([X || X <- T, X >= H]);
8 qsort([]) -> [].
9
10 isPrime(1) -> false;
11 isPrime(2) -> true;
12 isPrime(X) when X rem 2 =:= 0 -> false;
13 isPrime(X) ->
14 N = 2, E = math:sqrt(X) + 1,
15 isPrime(X, N, E).
16 isPrime(X, N, E) when N =< E ->
17 case X rem N of
18 0 -> false;
19 _ -> isPrime(X, N+1, E)
20 end;
21 isPrime(_, _, _) -> true.
22 findPrime(S, E) -> findPrime(S, E, []).
23 findPrime(S, E, L) when S >= E ->
24 case isPrime(S) of
25 true -> findPrime(S - 1, E, [S|L]);
26 false -> findPrime(S - 1, E, L)
27 end;
28 findPrime(_, _, L) -> L.

在命令行输入libs:findPrime(100,1).

将输出100内的素数。

转载于:https://www.cnblogs.com/reallypride/archive/2012/02/08/2342600.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值