Hallo
Am 06.01.2014 22:18, schrieb Ernst Hügli:
Bei Programmiersprachen (zumindest bei solchen, die diesen Namen auch
verdienen ...) gibt's noch eine dritte Variante, und die hast Du
eigentlich angedeutet: Du "verpackst" Deine Zahl in einen Array, der die
richtige Anzahl Elemente enthält (also z.B. VAR IBAN = Array[1..34] of
Byte in der Notation von Pascal/Delphi/Lazarus). Jetzt kannst Du damit
tatsächlich genau so rechnen, wie man schriftlich und damit von Hand in
der Schule rechnet. Ist ein bisschen aufwendiger, weil Du alle
Operationen selber programmieren musst, aber dafür sind keinerlei
Beschränkungen mehr gegeben. Auf diese Weise kannst Du theoretisch auch
mit Zahlen mit tausenden von Stellen rechnen.
Heutige "richtige" Programmiersprachen können mit *Integern* in der
Grössenordnung bis zu 1000 Stellen problemlos umgehen, ohne
irgendwelches Array-brimborium.
in Python z.b:
def check_iban( iban ):
iban = iban.replace(' ','')
iban = sum([ int(iban[4:])*10**6,
(ord(iban[0].upper())-55)*10**4,
(ord(iban[1].upper())-55)*10**2,
int(iban[2:4]) ])
return iban % 97 == 1
..> check_iban('DE68 2105 0170 0012 3456 78')
..> True
Werner
--
Liste abmelden mit E-Mail an: [email protected]
Probleme?
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert