- Registriert
- 11.01.05
- Beiträge
- 2.656
Moin!
Ich habe ein dickes Problem mit meiner Hausaufgabe die ich bis Samstag reinreichen muss.
Aus irgendeinem Grund fehlt mir die zündende Idee wie ich das Problem lösen kann. Ich habe gestern fast 10 Stunden drangesessen, meine Lösungen funktionieren aber nur zu 80%. Irgendein Testfall ist immer dabei wo die Rechnung versagt.
Da es eine Hausaufgabe ist die ich alleine erledigen (und verstehen muss) erwarte ich keine vollständige Lösung. Aber vielleicht hat einer von euch ja ne Idee.
Also:
Es geht um 4 römische Maßeinheiten für Flächen. Eine Flächenangabe erfolgt im Format:
GGMMAQQQ
Das steht für: 25 G, 95 M, 3 A und 125 Q
Ich muss nun 3 Methoden entwickeln: 2 Zahlen addieren, die Differenz 2er Zahlen bilden und zu einer Zahl ein bestimmte Anzahl Q hinzufügen.
Ich hab mir nun gedacht, die G, M und A in Q umzurechnen:
Und dann alle Q zu addieren. Das ergäbe in meinem Beispiel:
Das plane ich nun auch für die zweite Zahl zu machen und dann möchte ich diese Zahl wieder in das alte Format umwandeln.
Und da liegt das Problem! Wie bekomme ich die 1495277 wieder ins alte Format?
Hier mein Lösungsansatz:
Ich speichere die beiden Q aus A in einer Variablen (qVonG1 und qVonG2), dann addiere ich beide und teile sie später wieder durch 57600 (100 x 4 x 144).
Das ist beim Berechnen der G noch recht einfach, da man in diesem Fall keine Begrenzung hat.
Hier aber der Fall für M:
Da ist das große Problem, dass 100 M = 1 A sind und man hier schon 190 M hat.
Daher müsste man ja noch folgendes rechnen:
A = A + 1;
M = M - 100;
Folgendes Beispiel für die A:
Da ist das große Problem, dass 4 M = 1 M sind und man hier schon 6 A hat.
Daher müsste man ja noch folgendes rechnen:
M = M + 1;
A = A - 4;
Versteht jemand auf was ich hinauswill?
Kann mir jemand weitere Tipps geben ob ich richtig bin oder was ich ändern muss?
Ich habe ein dickes Problem mit meiner Hausaufgabe die ich bis Samstag reinreichen muss.
Aus irgendeinem Grund fehlt mir die zündende Idee wie ich das Problem lösen kann. Ich habe gestern fast 10 Stunden drangesessen, meine Lösungen funktionieren aber nur zu 80%. Irgendein Testfall ist immer dabei wo die Rechnung versagt.
Da es eine Hausaufgabe ist die ich alleine erledigen (und verstehen muss) erwarte ich keine vollständige Lösung. Aber vielleicht hat einer von euch ja ne Idee.
Also:
Es geht um 4 römische Maßeinheiten für Flächen. Eine Flächenangabe erfolgt im Format:
GGMMAQQQ
Eine Zahl sieht z.B. so aus: 259531251 G = 100 M
1 M = 4 A
1 A = 144 Q
Das steht für: 25 G, 95 M, 3 A und 125 Q
Ich muss nun 3 Methoden entwickeln: 2 Zahlen addieren, die Differenz 2er Zahlen bilden und zu einer Zahl ein bestimmte Anzahl Q hinzufügen.
Ich hab mir nun gedacht, die G, M und A in Q umzurechnen:
Code:
Q (aus G) = 100 x 4 x 144 x G
Q (aus M) = 4 x 144 x M
Q (aus A) = 144 x A
Q = 1 x Q
Code:
Q (aus G) = 100 x 4 x 144 x 25 = 1440000
Q (aus M) = 4 x 144 x 95 = 54720
Q (aus A) = 144 x 3 = 432
Q = 1 x 125 = 125
Summe aller Q = 1495277
Und da liegt das Problem! Wie bekomme ich die 1495277 wieder ins alte Format?
Hier mein Lösungsansatz:
Ich speichere die beiden Q aus A in einer Variablen (qVonG1 und qVonG2), dann addiere ich beide und teile sie später wieder durch 57600 (100 x 4 x 144).
Code:
int qVonG1 = 25 x 57600 = 1440000;
int qVonG2 = 25 x 57600 = 1440000;
int qVonBeidenG = qVonG1 + qVonG2 = 2880000;
int qVonBeidenGAlsQ = qVonBeidenG / 57600 = 50;
Hier aber der Fall für M:
Code:
int qVonM1 = 95 x 576 = 54720;
int qVonM2 = 95 x 576 = 54720;
int qVonBeidenM = qVonM1 + qVonM2 = 109440;
int qVonBeidenMAlsQ = qVonBeidenM / 576 = 190;
Daher müsste man ja noch folgendes rechnen:
A = A + 1;
M = M - 100;
Folgendes Beispiel für die A:
Code:
int qVonA1 = 3 x 144 = 432;
int qVonA2 = 3 x 144 = 432;
int qVonBeidenA = qVonA1 + qVonA2 = 864;
int qVonBeidenAAlsQ = qVonBeidenA / 144 = 6;
Daher müsste man ja noch folgendes rechnen:
M = M + 1;
A = A - 4;
Versteht jemand auf was ich hinauswill?
Kann mir jemand weitere Tipps geben ob ich richtig bin oder was ich ändern muss?