swift中的第n个素数 [英] nth prime number in swift

查看:59
本文介绍了swift中的第n个素数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 xCode 的 Swift 中找到第 n 个素数,但我似乎无法使其正常工作,它只是提供了一个素数列表.

I'm trying to find the nth prime number in xCode's Swift, but I can't seem to get this working, it just gives a list of prime numbers.

func nthPrimeNumber (n: Int) -> Int
{
    var prime: Int
    var divisor: Int
    var isPrime: Bool
    for (prime = 2;  prime <= 50;  ++prime )
    {
        isPrime = true;
        for (divisor = 2;  divisor < prime;  ++divisor )
        {
            if ((prime % divisor) == 0 )
            {
                isPrime = false
            }
        }
        if (isPrime == true )
        {
            println(" \(prime)")
        }
    }

    return prime
}

推荐答案

对代码进行最少的更改,但是,正如评论者所说,添加终止逻辑:

Making minimal changes to your code, but, as commenter said, adding termination logic:

func nthPrimeNumber(n: Int) -> Int {
    var prime: Int
    var divisor: Int
    var isPrime: Bool
    var counter = 0
    for (prime = 2;  prime <= 50 && counter < n;  ++prime )
    {
        isPrime = true;
        for (divisor = 2;  divisor < prime;  ++divisor )
        {
            if ((prime % divisor) == 0 )
            {
                isPrime = false
            }
        }
        if (isPrime)
        {
            counter++
        }
    }

    return prime-1
}

这篇关于swift中的第n个素数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆