From 5f49a9ebd17df91f3aba23c0e39e4200ae009df5 Mon Sep 17 00:00:00 2001 From: structix Date: Thu, 10 May 2018 15:13:26 +0200 Subject: [PATCH] Added sommer2017 sae --- sae/aufgaben/sommer2017Go/main.go | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 sae/aufgaben/sommer2017Go/main.go 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 +}