本文整理汇总了Golang中euler.Sieve.NextPrime方法的典型用法代码示例。如果您正苦于以下问题:Golang Sieve.NextPrime方法的具体用法?Golang Sieve.NextPrime怎么用?Golang Sieve.NextPrime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类euler.Sieve
的用法示例。
在下文中一共展示了Sieve.NextPrime方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Run
func Run() {
var s euler.Sieve
p := 2
count := 0
// Move the closure out of the loop for efficiency. It does
// save some time.
circular := true
pcheck := func(num int) {
if !s.IsPrime(num) {
circular = false
}
}
for p < 1000000 {
circular = true
eachRotation(p, pcheck)
if circular {
// fmt.Printf("%d\n", p)
count++
}
p = s.NextPrime(p)
}
fmt.Printf("%d\n", count)
}
示例2: Run
func Run() {
var sieve euler.Sieve
prime := 2
for i := 0; i < 10000; i++ {
prime = sieve.NextPrime(prime)
}
fmt.Printf("%d\n", prime)
}
示例3: init
func init() {
earlyPrimes = make([]int, 10)
var sieve euler.Sieve
p := 2
for i := range earlyPrimes {
earlyPrimes[i] = p
p = sieve.NextPrime(p)
}
return
}
示例4: Run
func Run() {
var sv euler.Sieve
largest := 0
for p := 2; p < 9999999; p = sv.NextPrime(p) {
if isPandigital(p) {
largest = p
}
}
fmt.Printf("%d\n", largest)
}
示例5: Run
func Run() {
var sieve euler.Sieve
largest := 0
largestValue := 0
for p := 7; p < 1000; p = sieve.NextPrime(p) {
size := dlog(p)
if size > largest {
largest = size
largestValue = p
}
}
fmt.Printf("%d\n", largestValue)
}
示例6: Run
func Run() {
var sieve euler.Sieve
base := 2
for {
size := familySize(&sieve, base, 1)
if size >= 8 {
break
}
base = sieve.NextPrime(base)
}
fmt.Printf("%d\n", base)
}
示例7: Run
func Run() {
var s euler.Sieve
count := 0
sum := 0
p := 11
for count < 11 {
if isRightPrime(&s, p) && isLeftPrime(&s, p) {
sum += p
count++
// fmt.Printf("%d\n", p)
}
p = s.NextPrime(p)
}
fmt.Printf("%d\n", sum)
}
示例8: Run
func Run() {
var sieve euler.Sieve
num := start
var prime int = 2
for {
if num == int64(prime) {
fmt.Printf("%d\n", prime)
break
}
// Divide out the prime as many times as possible.
for num%int64(prime) == 0 {
num /= int64(prime)
}
prime = sieve.NextPrime(prime)
}
}
示例9: divisorCount
func divisorCount(sieve *euler.Sieve, n int) (result int) {
result = 1
tmp := n
prime := 2
for tmp > 1 {
dcount := 0
for tmp%prime == 0 {
tmp /= prime
dcount += 1
}
result *= dcount + 1
if tmp > 1 {
prime = sieve.NextPrime(prime)
}
}
return
}