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.0.0.8 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.7 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.6 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.5 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.4 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.3 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.2 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.1 tracks/go/exercises/nth-prime/example.go
trackler-2.0.0.0 tracks/go/exercises/nth-prime/example.go
trackler-1.0.4.1 tracks/go/exercises/nth-prime/example.go
trackler-1.0.4.0 tracks/go/exercises/nth-prime/example.go
trackler-1.0.3.0 tracks/go/exercises/nth-prime/example.go
trackler-1.0.2.1 tracks/go/exercises/nth-prime/example.go
trackler-1.0.2.0 tracks/go/exercises/nth-prime/example.go
trackler-1.0.1.2 tracks/go/exercises/nth-prime/example.go
trackler-1.0.1.1 tracks/go/exercises/nth-prime/example.go
trackler-1.0.1.0 tracks/go/exercises/nth-prime/example.go
trackler-1.0.0.1 tracks/go/exercises/nth-prime/example.go
trackler-1.0.0 tracks/go/exercises/nth-prime/example.go