Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "math"
  6. "math/rand"
  7. )
  8.  
  9. func main() {
  10.  
  11. sendN := make(chan int)
  12. sendK := make(chan int)
  13.  
  14. number := [][]float64{}
  15.  
  16. var temp []float64
  17.  
  18. for j := 0; j < 10; j++ {
  19. for i := 0; i < 10; i++ {
  20. randomiser := rand.Float64()
  21. temp = append(temp, randomiser)
  22. }
  23. number = append(number, temp)
  24. }
  25.  
  26. for i := 0; i < 5; i++ {
  27. start := i * 2 * 10
  28. end := (i*2 + 2) * 10
  29. go carlo(sendN, sendK, start, end, number)
  30.  
  31. }
  32.  
  33. a := 0
  34. finalN := 0
  35. finalK := 0
  36. for a < 5 {
  37. resN := <-sendN
  38. resK := <-sendK
  39.  
  40. finalN = resN + finalN
  41. finalK = resK + finalK
  42. a++
  43. }
  44.  
  45. fmt.Println(finalN / finalK)
  46.  
  47. }
  48.  
  49. func carlo(sendN chan<- int, sendK chan<- int, start int, end int, number [][]float64) {
  50. n := 0
  51. k := 0
  52.  
  53. for x := start; x < end; x++ {
  54. for y := 0; y < 10; y++ {
  55. n++
  56. if math.Sqrt((float64)((x*x)-(y*y))) > 1 {
  57. k++
  58. }
  59. }
  60. }
  61. sendN <- n
  62. sendK <- k
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement