Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "math"
- "time"
- )
- var lista = make([]int, 10, 10)
- var idx = 0
- func CheckPrime(numero int) {
- var lim = (int)(math.Floor(math.Sqrt(float64(numero))) + 1)
- for j := 0; j < idx; j++ {
- if numero%lista[j] == 0 {
- return
- }
- if lista[j] > lim {
- break
- }
- }
- if idx == len(lista) {
- lista = append(lista, make([]int, idx*2, idx*2)...)
- }
- lista[idx] = numero
- idx++
- }
- func GetPrimes(numerMax int) {
- for i := 3; i < numerMax; i += 2 {
- CheckPrime(i)
- }
- }
- func main() {
- calculaTiempo(func() {
- GetPrimes(67108864)
- })
- fmt.Println(idx, lista[idx])
- }
- func calculaTiempo(funcion func()) {
- lista[0] = 2
- idx++
- fmt.Println(time.Now())
- funcion()
- fmt.Println(time.Now())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement