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.119 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.118 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.117 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.116 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.115 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.114 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.113 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.111 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.110 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.109 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.108 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.107 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.106 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.105 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.104 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.103 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.102 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.101 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.100 tracks/go/exercises/nth-prime/example.go
trackler-2.2.1.99 tracks/go/exercises/nth-prime/example.go