AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlendreiecke mit Delphi lösen?

Ein Thema von Code · begonnen am 7. Jun 2008 · letzter Beitrag vom 7. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Code

Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
 
Delphi 2007 Professional
 
#1

Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 09:56
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
Miniaturansicht angehängter Grafiken
bild_358.gif  
Angehängte Dateien
Dateityp: zip rechnen_686.zip (271,7 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 10:00
Und nach welchen Regeln müssen die errechnet werden?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Code

Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 10:05
Sorry, hatte vergessen hinzuschreiben. Die Äußeren Zahlen sind die Ergebnisse. Gerechnet werden muss mit plus und minus.

Gruß
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 10:29
Zitat von Code:
Sorry, hatte vergessen hinzuschreiben. Die Äußeren Zahlen sind die Ergebnisse. Gerechnet werden muss mit plus und minus.
Das reicht nicht als Erklärung. Muss ich nun 50 + 45 rechnen um B zu bekommen oder 50 - 45 oder 45 - 50?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 10:36
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;
}
Frank Dumont
  Mit Zitat antworten Zitat
Code

Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 10:44
Zitat von Luckie:
Zitat von Code:
Sorry, hatte vergessen hinzuschreiben. Die Äußeren Zahlen sind die Ergebnisse. Gerechnet werden muss mit plus und minus.
Das reicht nicht als Erklärung. Muss ich nun 50 + 45 rechnen um B zu bekommen oder 50 - 45 oder 45 - 50?
Doch, dass muss leider reichen. Mehr Angaben gibt es nicht. Wobei, wie zu sehen ist, B + D muss A ergeben, B + E muss C ergeben und E + D muss F ergeben. Das "wie" ist die Frage. Wenn ich das ganze mit "der Hand" rechne, dann probiere ich aus, was passt. Um diese Arbeit zu sparen suche ich nach einer Lösung in Delphi. Vielleicht gibt es da eine Formel? Ich bin aber auch kein Mathe- Ass.

Gruß
Klaus
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#7

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 10:56
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

Um das ganze in Delphi umzusetzen musst du natürlich anstatt die Zahlen dann den Inhalt der Edit-Felder einsetzen

Gruß,
Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
Code

Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 11:41
Zitat von Elko:
...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 .
Um das ganze in Delphi umzusetzen musst du natürlich anstatt die Zahlen dann den Inhalt der Edit-Felder einsetzen.
Hallo

wie kommst Du jetzt auf 38 und 19?

Gruß
Klaus
  Mit Zitat antworten Zitat
Code

Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 11:51
Zitat von rawsoul:
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;
}
Wie kann ich diesen Code in Delphi einsetzen?

Gruß
Klaus
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#10

Re: Zahlendreiecke mit Delphi lösen?

  Alt 7. Jun 2008, 12:09
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 )

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
Gruß,
Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz