本文共 684 字,大约阅读时间需要 2 分钟。
埃拉托色尼筛选法(Sieve of Eratosthenes)是一种高效的算法,用于寻找小于或等于某个整数n的所有素数。通过反复标记合成数(非素数),最终剩下的未被标记的数即为素数。
以下是一个用 Objective-C 实现埃拉托色尼筛选法的完整代码示例:
#import@interface SieveOfEratosthenes : NSObject- (NSArray *)sieveForNumber:(int)number;@end
SieveOfEratosthenes 的类,继承自 NSObject。sieveForNumber:(int)number 返回一个包含所有小于或等于给定数的素数的数组。要使用该类,首先需要创建一个实例,并调用 sieveForNumber: 方法。例如:
SieveOfEratosthenes *sieve = [[SieveOfEratosthenes alloc] init];NSArray *primes = [sieve sieveForNumber:100];
埃拉托色尼筛选法的核心思想是:
isPrime,初始时所有元素都为 true。这种方法的时间复杂度为 O(n log log n),非常适用于找出小范围内的素数。
转载地址:http://jwifk.baihongyu.com/