www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Schul-Informatik Algorithmen" - Test für Mathe-Wettbewerb
Test für Mathe-Wettbewerb < Algorithmen < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Schul-Informatik Algorithmen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Test für Mathe-Wettbewerb: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:49 Di 21.02.2012
Autor: beastofchaos

Aufgabe
Alex schreibt die sechszehn Ziffern 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9 in beliebiger Reihenfolge nebeneinander und setzt dann irgendwo zwischen zwei Ziffern einen Doppelpunkt, so dass eine Divisionsaufgabe entsteht.
Kann das Ergebnis dieser Rechnung 2 sein?

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Diese Aufgabe ist Teil des Bundeswettbewerb Mathematik 2012. Weshalb ich das hier in das Informatik-Forum schreibe, ist, dass ich diese Aufgabe per Praxis erst einmal überprüfen will. Damit ich weiß, was am Ende meiner Beweisführung als Ergebnis stehen muss :D

Also will ich eine Funktion schreiben, die diese 16 Ziffern ( Alle Ziffern von 2 bis 9 zweimal ) per For- oder While-Schleife in allen möglichen Kombinationen durchrechnet und mir dann ausgibt, wenn es ein Möglichkeit gibt, bei der als Ergebnis 2 rauskommt. Hab lange jetzt im Kopf rum gesponnen und bevor ich mich heute oder morgen dem Problem innerhalb eines Programms annäher, würde ich gerne die Meinung dazu von ein paar anderer Informatikern bekommen.

Die Computersprache ist egal, solange ich den Sinn leicht verstehen kann (also bitte kein Maschinencode :P). Vorzugsweise kenne ich mich aber mit Java aus, sonst auch ein bisschen mit Pascal/Delphi.
Vielleicht wäre es sinnvoll einen Programmablauf im Vorhinein zu skizzieren, aber ich weiß halt, wie gesagt nicht, wo ich ansetzten soll.
Erste Idee ist nur, dass ich 16 Integer oder ein Array von 16 Integer (Ziffern) bilde, und die Ziffernfolge immer wieder per For-Schleife verschiebe. Bloß nach welchem Schmema?


Gruß, Thomas

        
Bezug
Test für Mathe-Wettbewerb: Antwort
Status: (Antwort) fertig Status 
Datum: 15:17 Di 21.02.2012
Autor: leduart

Hallo
du hast ja ne Idde was zu machen ist. man sollte den comp nicht alles zu muten, wie lang darf denn der erst und zweite Teil sein? usw
wenn du die dümmsten möglichkeiten gleich wegläßt, solltest du den Rest leicht in nen algorithmus kriegen.
da der beste Alg. schon vielleicht eine Idee zur lösung bietet, denk ich, das sollt - da wettbewrb- nicht hier bearbeitet werden, besonders, da du ja außer programmieren zu wollen nichts beisteuerst.
Bruss leduart


Bezug
                
Bezug
Test für Mathe-Wettbewerb: Aufklärung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:33 Di 21.02.2012
Autor: beastofchaos

Also damit zwei rauskommt, müssen beide Teile gleich lang sein. Desweiteren kann ich auch schon mehrere Fälle aussondern (z.B. zweiter Teil darf keine 5 enthalten), aber das sind dann eher Feinheiten, um dem Computer ein bisschen Rechenzeit abzubehmen :D
Ich werde es wohl eh per Timer machen und das Programm n bisschen laufen lassen, da das sicher enorm lang dauern kann. Ich weiß zwar noch nicht, wie das Programm überhaupt vorgehen soll, deswegen frag ich ja.
Aber ich weiß, dass das Programm, wenn es ordentlich arbeitet und jede Kombination nur einmal herausbringt, es insgesamt 16! Möglichkeiten gibt (16! = ~2,092279 * 10^13).
Wenn ich davon ausgehe, dass ich den Timer alle 50 ms abspiele und er jedesmal eine Rechnung durchführt, macht das...

1000 * 10^12 ms = 10^12 s = 10^12 / 60 / 60 / 24 = 115740740,7 d = 317098 a

Ich kann, glaub ich keine 317000 Jahre warten, also muss ich es wohl doch mit Logik versuchen (und selbst ,wenn der Rechner schneller wäre, würde er nie sooo schnell rechnen können, dass ich das Ergebnis in ein paar Tagen habe... :/
Jetzt weiß ich, wozu theoretische Mathematik gut sein kann (es spart ein paar hunderttausend Jahre Arbeit :D).

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Schul-Informatik Algorithmen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]