![]() |
Zahlendreiecke mit Delphi lösen?
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Alle!
Ich brauche mal Hilfe von einem Mathe- Ass. Ich habe hier ein Zahlendreieck. Die äußeren Zahlen sind bekannt. Die inneren Zahlen müssen errechnet werden. Ich suche ein Lösungsweg in Delphi. Im Moment komme ich nicht weiter. Ich habe mal angehangen was ich bisher versucht habe. Gruß Klaus |
Re: Zahlendreiecke mit Delphi lösen?
Und nach welchen Regeln müssen die errechnet werden?
|
Re: Zahlendreiecke mit Delphi lösen?
Sorry, hatte vergessen hinzuschreiben. Die Äußeren Zahlen sind die Ergebnisse. Gerechnet werden muss mit plus und minus.
Gruß Klaus |
Re: Zahlendreiecke mit Delphi lösen?
Zitat:
|
Re: Zahlendreiecke mit Delphi lösen?
Das ist lustig, mir wurde gestern erst so eine Aufgabe vorgelegt - der Enkel meiner Nachbarn musste so ein Zahlendreieck in der zweiten Klasse in einer Klassenarbeit lösen :?
B+D muss A ergeben, B+E muss C ergeben, D+E muss F ergeben. Es gibt da übrigens nur eine Lösung. Wie wäre es mit Bruteforce? ;) Ich habe bisher keine Formeln gefunden, das zu lösen. Durch geschicktes rumschubsen geht das aber zum Teil mit Logik. Mit Bruteforce war es in 0 ms zu lösen, da die Zahlen nicht sonderlich groß sind (ungenau, da GetTickCount).
Code:
int main() {
DWORD t = GetTickCount(); for(int b = 1; b < 45; b++) for(int d = 1; d < 33; d++) for(int e = 1; e < 33; e++) if(b+d==50 && b+e==45 && d+e==33) cout << b << ' ' << d << ' ' << e << endl; t = GetTickCount() - t; cout << t << endl; system("PAUSE"); return EXIT_SUCCESS; } |
Re: Zahlendreiecke mit Delphi lösen?
Zitat:
Gruß Klaus |
Re: Zahlendreiecke mit Delphi lösen?
Du weißt folgendes:
50=b+d 45=b+e 33=d+e Dann löst du einfach nach einer Variablen auf: b=50-d e=45-b d=33-e Und dann setzt du einfach zB. in den dritten Term ein: d=33-(45-(50-d)) ...auflösen ergibt: d=33-(45-50+d) d=33-45+50-d d=38-d 2d=38 d=19 Dann kannst du einfach in die oberen Terme einsetzen :cheers: Um das ganze in Delphi umzusetzen musst du natürlich anstatt die Zahlen dann den Inhalt der Edit-Felder einsetzen :zwinker: Gruß, Elko |
Re: Zahlendreiecke mit Delphi lösen?
Zitat:
wie kommst Du jetzt auf 38 und 19? Gruß Klaus |
Re: Zahlendreiecke mit Delphi lösen?
Zitat:
Gruß Klaus |
Re: Zahlendreiecke mit Delphi lösen?
Eigentlich ganz einfach, falls dir der Begriff "Äquivalenz-Umformungen" aus der Schule noch was sagt:
Subtrahierst du auf beiden Seiten der Gleichung einen Wert, dann ändert das nichts am Ergebnis, wie du im folgenden auch siehst: 5 = 5 //jetzt machst du auf beiden Seiten z.B. -2 3 = 3 Das ganze geht natürlich auch mit * / + - usw. uuuuuuund mit Variablen (da macht es ja auch erst Sinn :mrgreen: ) x = 5 //hier weißt du sofort, dass x fünf ist Wenn du aber z.B. sowas hast: x+2 = 9 //na, jetzt rate mal, was da raus kommt... du machst auf beiden Seiten -2 und dann kommt auf der linken Seite "X" raus und auf der rechten "7", also x=7 So, jetzt zu meinem Post zuvor: d=33-(45-50+d) d=33-45+50-d // hier fasst du einfach nur 33-(45-50+d) zusammen d=38-d // jetzt, machst du auf beiden Seiten +d, damit du auf der rechten Seite nur noch eine Zahl stehen hast 2d=38 //jetzt teilst du beide Seiten durch 2, damit aus den 2d's eines wird und du das Ergebnis für d rausbekommst. d=19 //das ist das Ergebnis für d, das du jetzt einfach in die Terme, die ich davor aufgestellt habe, einsetzen kannst... Hoffe, dass es jetzt verständlich ist :thumb: Gruß, Elko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz