Sha256: 08dfcb7a7b4fc7001a2a616f213c300d6c014c5337ebec1251f24de939ac261f

Contents?: true

Size: 387 Bytes

Versions: 219

Compression:

Stored size: 387 Bytes

Contents

package prime

func Nth(n int) (p int, ok bool) {
	switch {
	case n < 1:
		return 0, false
	case n == 1:
		return 2, true
	}
	n--
	p = 3
	inc := 1
	sqr := 1
	sqrt := 1
	for {
		for f := 3; ; f += 2 {
			if f > sqrt {
				n--
				if n == 0 {
					return p, true
				}
				break
			}
			if p%f == 0 {
				break
			}
		}
		p += 2
		if p > sqr {
			inc += 2
			sqr += inc
			sqrt++
		}
	}
}

Version data entries

219 entries across 219 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.138 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.137 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.136 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.135 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.134 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.133 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.132 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.131 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.130 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.129 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.128 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.127 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.126 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.125 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.124 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.123 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.122 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.121 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.120 tracks/go/exercises/nth-prime/example.go