Objective-C实现埃拉托斯特尼筛法算法(附完整源码)
发布日期:2025-04-25 16:39:42 浏览次数:3 分类:精选文章

本文共 884 字,大约阅读时间需要 2 分钟。

埃拉托斯特尼筛法是一种高效的算法,用于寻找小于某个数的所有素数。下面是用Objective-C实现埃拉托斯特尼筛法的完整代码,以及对实现过程的详细解释。

Objective-C实现埃拉托斯特尼筛法代码

#import 
@interface PrimeSieve : NSObject
- (NSArray
*) sieveForNumber:(int)max;
@end

代码解释

  • 类定义PrimeSieve 类继承自 NSObject,用于实现埃拉托斯特尼筛法算法。

  • 主要方法sieveForNumber:(int)max 方法用于生成小于或等于 max 的所有素数。

  • 算法步骤

    • 创建一个布尔数组 sieve,初始值为 true,表示所有数最初都被认为是素数。
    • 2max 的所有数标记为 true,表示这些数最初被认为是素数。
    • 2 开始遍历,直到 sqrt(max)。对于每个数 i,如果它是素数,则标记其倍数为 false,表示这些倍数不是素数。
    • 最后,收集所有标记为 true 的数,即为小于或等于 max 的所有素数。
  • 实现代码

    #import 
    @interface PrimeSieve : NSObject
    - (NSArray
    *) sieveForNumber:(int)max;
    @end

    使用示例

    PrimeSieve *primeSieve = [[PrimeSieve alloc] init];
    NSArray
    *primes = [primeSieve sieveForNumber:10];
    NSLog(@"Primes up to 10: %@", primes);

    输出结果

    Primes up to 10: [2, 3, 5, 7]

    总结

    埃拉托斯特尼筛法是一种经典的算法,通过筛选非素数来找出所有素数。Objective-C 实现这一算法的代码如上所示,能够有效地寻找小于或等于给定数的所有素数。

    上一篇:Objective-C实现埃拉托色尼筛法(附完整源码)
    下一篇:Objective-C实现均值滤波(附完整源码)

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月09日 07时24分59秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章