Einführung in die Sprache Go anhand von Beispielen
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.0 KiB

/*
Landesamt für Geoinformation und Landentwicklung, Referat 35
Einführung in die Sprache Go, 25.7.2017
Lektion 1: Gaußsche Normalverteilung nach dem Zufallsprinzip
*/
package main
import (
"fmt"
"math/rand"
"time"
)
const (
anzahlTöpfchen int8 = 25
anzahlKugeln int32 = 100000
)
var timestamp [2]int64
func main() {
var (
töpfchenAlle [anzahlTöpfchen]int16
töpfchenTmpZähler int16
)
timestamp[0] = time.Now().Unix()
for k := (int32)(1); k <= anzahlKugeln; k++ {
töpfchenTmpZähler = 0
for i := (int8)(0); i < anzahlTöpfchen-1; i++ {
if yesnotrigger := func() bool {
rand.Seed(time.Now().UnixNano()) //rand.New(rand.NewSource(time.Now().UnixNano())).Float64()
if rand.Float64() < 0.5 {
return true
} else {
return false
}
}(); yesnotrigger == true {
töpfchenTmpZähler++
}
}
töpfchenAlle[töpfchenTmpZähler]++
}
fmt.Println(töpfchenAlle)
timestamp[1] = time.Now().Unix()
fmt.Printf("\nProzess ist fertig und hat %v Sekunden gedauert!\n\n", (timestamp[1] - timestamp[0]))
}