diff --git a/sae/aufgaben/sommer2017Go/main.go b/sae/aufgaben/sommer2017Go/main.go new file mode 100644 index 0000000..3cf4895 --- /dev/null +++ b/sae/aufgaben/sommer2017Go/main.go @@ -0,0 +1,32 @@ +package main + +import "fmt" + +func main() { + fmt.Println("Prüfziffer:", berechnePruefziffer(21050170, 425)) + fmt.Println("Prüfziffer:", berechnePruefziffer(21050170, 12345678)) +} + +//Achtung: Es müssen Datentypen mit 64 Bit Ganzzahl angewendet werden, +//da * 1mio gerechnet wird. In Java/C# wäre das der Typ long. +func berechnePruefziffer(blz, kontonr int64) int64 { + var pruefziffer int64 = 0.0 + + for blz >= 97.0 { + blz -= 97.0 + } + kontonr *= 1000000.0 + kontonr += 131400.0 + for kontonr >= 88529281.0 { + kontonr -= 88529281.0 + } + for kontonr >= 97.0 { + kontonr -= 97.0 + } + pruefziffer = blz*62.0 + kontonr + for pruefziffer >= 97.0 { + pruefziffer -= 97.0 + } + pruefziffer = 98.0 - pruefziffer + return pruefziffer +}