fork(1) download
  1. package main
  2. import "fmt"
  3. import "time"
  4.  
  5. // 100万までの素数を求める
  6. func main(){
  7.  
  8. const N = 1000000
  9. const sqrtN = 1000
  10.  
  11. var p[N] bool
  12. var prime[80000] int
  13.  
  14. startTime := time.Now()
  15.  
  16. for i := 3; i < sqrtN; i += 2 {
  17. if p[i] { continue }
  18. for j := i*i; j < N; j += i+i {
  19. p[j] = true
  20. }
  21. }
  22.  
  23. prime[0] = 2
  24. n := 0
  25. for i := 3; i < N; i += 2 {
  26. if !p[i] {
  27. n++
  28. prime[n] = i
  29. }
  30. }
  31.  
  32. t := time.Since(startTime)
  33. fmt.Println(t.Seconds() * 1000)
  34. fmt.Println(n)
  35. }
Success #stdin #stdout 0s 7260KB
stdin
Standard input is empty
stdout
1.798881
78497