000
12.02.2005, 11:39 Uhr
Bruder Leif
dances with systems (Operator)
|
Moin!
Eine "geliehene" Aufgabe: Zu golfen ist eine Funktion, die Maya-Zahlen in ints umwandelt. Ich zitier hier einfach mal von codefairway.net:
----------
Ein Beispiel: die Zahl .| : .: .: | - entspricht 19545300.
Verwirrt? Das Zahlensystem der Mayas und Azteken beruht auf einer Zwanzigerbasis - offensichtlich wurde mit Fingern und Zehen gezählt. Die Zahlzeichen sind:
* . steht für 1 Stein * : steht für 2 Steine * | steht für 5 Steine (oder einen Stock, da streiten die Archäologen noch) * - steht für eine Muschel, die Null symbolisiert.
.:| .:||| ::| ::|| . ergibt die 1427881, folgendermassen berechnet: 20**4*(3+5) + 20**3*(3+15) + 20**2*(4+5) + 20**1*(4+10) + 20**0*(1) = 1280000 + 144000 + 3600 + 280 + 1 = 1427881
Aufgabe ist es einen Konverter zu schreiben der eine Mayazahl in das Dezimalsystem umwandelt. Die Zahl wird als String übergeben, das Ergebnis ist eine Integerzahl. Die Maya-Zahlen haben zwischen einer und sieben Stellen (getrennt durch ein Leerzeichen).
----------
Rumpf:
C++: |
int teeOff(char* mayaZahl) { // ......... }
|
P.S. par sind 80 Zeichen zwischen den geschweiften Klammern :-) -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. Dieser Post wurde am 12.02.2005 um 17:41 Uhr von Bruder Leif editiert. |