Added sommer2017 sae
This commit is contained in:
32
sae/aufgaben/sommer2017Go/main.go
Normal file
32
sae/aufgaben/sommer2017Go/main.go
Normal file
@@ -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
|
||||||
|
}
|
Reference in New Issue
Block a user