Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "math"
- "math/rand"
- )
- func main() {
- sendN := make(chan int)
- sendK := make(chan int)
- number := [][]float64{}
- var temp []float64
- for j := 0; j < 10; j++ {
- for i := 0; i < 10; i++ {
- randomiser := rand.Float64()
- temp = append(temp, randomiser)
- }
- number = append(number, temp)
- }
- for i := 0; i < 5; i++ {
- start := i * 2 * 10
- end := (i*2 + 2) * 10
- go carlo(sendN, sendK, start, end, number)
- }
- a := 0
- finalN := 0
- finalK := 0
- for a < 5 {
- resN := <-sendN
- resK := <-sendK
- finalN = resN + finalN
- finalK = resK + finalK
- a++
- }
- fmt.Println(finalN / finalK)
- }
- func carlo(sendN chan<- int, sendK chan<- int, start int, end int, number [][]float64) {
- n := 0
- k := 0
- for x := start; x < end; x++ {
- for y := 0; y < 10; y++ {
- n++
- if math.Sqrt((float64)((x*x)-(y*y))) > 1 {
- k++
- }
- }
- }
- sendN <- n
- sendK <- k
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement