Oktober 2009 Programming Challenge

  • Rabid Dog
  • Cheese Monkey
  • Web Master
  • Benutzeravatar
  • Registriert: Mai 21, 2004
  • Beiträge: 3188
  • Loc: South Africa
  • Status: Offline

Beitrag Oktober 6th, 2009, 1:34 am

OK, so endlich habe ich einen neuen für alle. Es ist relativ einfach, aber ich denke, die Herausforderung besteht darin, es in den am wenigsten viel Code wie möglich zu tun. Diese ist offen für jede Sprache.

Das Problem:
Sie haben ein Zahlenschloss mit 3 Sätze ausgeführt von 0-9 (wie die Art finden Sie auf Aktenkoffer).

Mit anderen Worten
Set 1 [0-9]
Set 2 [0-9]
Set 3 [0-9]

Ihre Herausforderung:
Dies ist ein Zwei-Phasen Herausforderung

Phase 1:
Um alle möglichen Kombinationen in den Zahlenschloss. Dazu müssten Sie drucken sie aus zu einer Konsole oder einem anderen Medium. Dies sollte intelligent genug, um Zahlenschlösser mit mehr oder weniger als 3 Sätze zu behandeln. Sie wollen vielleicht sogar, um es so weit bringen, wo man auch, wie viele Zahlen enthält jede Menge passieren.

Phase 2:
Da alle Kombinationen geben einen Code ein und finden es in der Verbindung gesetzt. Dies bedeutet, dass Sie die Methode in der Lage sein, eine Kombination innerhalb der möglichen Kombinationen gesetzt finden sollte. Dies ist eine Brute-Force-Mechanismus.

Ihre Signatur der Methode könnte etwas zu den Auswirkungen der
Code: [ Download ] [ Select ]
public void FindCombinations(int sets, int setLength, int[] combinationToSearchFor){

}
  1. public void FindCombinations(int sets, int setLength, int[] combinationToSearchFor){
  2. }


Submission Format & Rules
Da dies wahrscheinlich in einer einzigen Methode werden umhüllt / Funktion, veröffentlichen Sie Ihre Lösungen in diesem Thema. Sobald jemand hat eine Lösung in einer bestimmten Sprache können Sie nicht den gleichen algorithmus veröffentlichen in dieser Sprache geschrieben. Handelt es sich um eine Variante des Algorithmus ist es schön

Zum Abschluss
Es ist nicht schwer, aber es ist cool, wenn du es richtig machen! Think mathematisch und Sie sollten in der Lage zu kommen mit einer recht elegante Lösung.
My Software Development Company
Music I have recorded (fixed now :))
Bild
  • Anonymous
  • Bot
  • No Avatar
  • Registriert: 25 Feb 2008
  • Beiträge: ?
  • Loc: Ozzuland
  • Status: Online

Beitrag Oktober 6th, 2009, 1:34 am

  • mk27
  • Proficient
  • Proficient
  • Benutzeravatar
  • Registriert: Jun 09, 2009
  • Beiträge: 278
  • Status: Offline

Beitrag Oktober 6th, 2009, 9:07 am

Rabid Dog hat geschrieben:
Phase 2:
Da alle Kombinationen geben einen Code ein und finden es in der Verbindung gesetzt. Dies bedeutet, dass Sie die Methode in der Lage sein, eine Kombination innerhalb der möglichen Kombinationen gesetzt finden sollte.


Ich glaube, Sie sollten erklären, was Sie bedeutet dies, (zumindest für mich). "Nachdem alle Kombinationen" ist so einfach wie die Vereinbarkeit eines 3D-Array, oder eine Art parallele Datenstruktur. Natürlich werden dann sämtliche Kombinationen werden darin. Also, was "würde eine Kombination innerhalb der möglichen Kombinationen" setzen Sie auf?

Rabid Dog hat geschrieben:
Ihre Herausforderung:
Dies ist ein Dreiphasen-Herausforderung

Eigentlich zähle ich 2 in der OP.

Vielleicht haben Sie einen Pseudo-Code-Version von dem, was du meinst, oder einfach nur eine Funktion Prototyp konnte die Post (erforderlich Eingänge, Ausgänge erforderlich), da für das Leben von mir, ich sehe nicht, eine solche Möglichkeit hier...

Code: [ Download ] [ Select ]
int main(void) {
int triple_matrix[10][10][10];
return 0;
}
  1. int main(void) {
  2. int triple_matrix[10][10][10];
  3. return 0;
  4. }

Wow, wird nur die indizierten Index der Matrix enthält alle Kombinationen. Sie haben noch nicht einmal, um sie zuzuordnen. Check ", wo es ist"? Okay, Kombination 3-0-7 in triple_matrix [3] [0] [7]. Nichts für ungut, aber entweder ich voll und ganz verstehe dich nicht, oder ist dies ein "no-Programmierung" zu bestreiten. :roll:

Wenn das, was Sie ist ein 3-stelliger Code zu knacken bedeutet, dann ist immer eine Zahl zu korrigieren count (fahren Sie dann mit dem nächsten), oder brauchen Sie, damit Sie alle drei gleichzeitig zu korrigieren? In jedem Fall ist es nur ein "Brute-Force" von Iterationsschleifen gesetzt, aber der zweite wird länger dauern.
Bild
  • UPSGuy
  • Lurker ಠ_ಠ
  • Mastermind
  • Benutzeravatar
  • Registriert: Jul 25, 2005
  • Beiträge: 2497
  • Loc: Nashville, TN
  • Status: Offline

Beitrag Oktober 6th, 2009, 9:10 am

Im ein wenig verschwommen auch hier. Im ein wenig verloren auf der gleichen Grundlage - ich, dass nach Permutationen waren, aber thats about it.
I'd love to change the world, but they won't give me the source code.
  • Rabid Dog
  • Cheese Monkey
  • Web Master
  • Benutzeravatar
  • Registriert: Mai 21, 2004
  • Beiträge: 3188
  • Loc: South Africa
  • Status: Offline

Beitrag Oktober 6th, 2009, 9:30 am

Sorry Jungs, ich weiß nicht, wie sonst eigentlich zu erklären. mk27 ist auf dem richtigen Weg in Bezug auf die Besetzung der Arrays mit Kombinationen, aber die Idee ist, um tatsächlich einen Reim darauf machen über die Parameter habe ich in der Signatur der Methode vor, so dass Sie nicht wirklich wissen, was die Anzahl der Sätze in der Methode geliefert wird auf nur, dass es vorgesehen ist (ich habe den neuesten Stand zu reflektieren, dass). Bitte nachlesen oben und lassen Sie mich wissen, ob es Sinn macht, sonst bin ich gonna have zu kommen mit einer anderen Idee. Ich denke immer eine Reihe rechts individuell ist gut genug. Es ist tatsächlich ein Brute-Force-Methode Typ, dachte ich in dem alle möglichen Kombinationen wäre eine Herausforderung an sich zunächst für diejenigen, die ausgehend sind
My Software Development Company
Music I have recorded (fixed now :))
Bild
  • mk27
  • Proficient
  • Proficient
  • Benutzeravatar
  • Registriert: Jun 09, 2009
  • Beiträge: 278
  • Status: Offline

Beitrag Oktober 7th, 2009, 12:10 pm

Rabid Dog hat geschrieben:
Bitte nachlesen oben und lassen Sie mich wissen, ob es Sinn macht, sonst bin ich gonna have zu kommen mit einer anderen Idee. Ich denke immer eine Reihe rechts individuell ist gut genug. Es ist tatsächlich ein Brute-Force-Methode Typ, dachte ich in dem alle möglichen Kombinationen wäre eine Herausforderung an sich zunächst für diejenigen, die ausgehend sind


Ich Art von denke, Sie sollten (come up mit einer anderen Idee). "Da alle Kombinationen geben einen Code ein und finden es in der Kombination" gesetzt - es macht einfach keinen Sinn, tollwütigen Hund. Oder besser gesagt, macht es Sinn, aber ich sehe nicht ein "Problem" (wie "Angesichts des Spektrums finden sich die Farbe des Himmels").

Da die Größe der Menge, etc., sind nicht bekannt, ich glaube, es wäre eine Herausforderung für "diejenigen, die ausgehend sind," mit wie dynamisch Struktur einige Daten umgehen, aber ich denke, es müssen mehr Fleisch auf diesen Knochen, da einmal die Daten strukturiert ist, die Verbindung ist da - Sie brauchen nicht zu "finden", Sie müssen nur die Brute-Force-Iteration (es sei denn, es ist ein nicht Brute-Force-Methode, die ich überrascht sein würde, aber hey ).

Ich war gerade googeln um, und ich fand diese Seite:
http://www.codinghorror.com/blog/archives/000951.html
Ive verbrachte eine Menge Zeit bei cprogramming.com (wie 3500 Stellen in 15 Monaten) und so bekomme ich eine Menge, was die CS Studenten werden immer aufgefordert, in ihren ersten Jahren sehen. Von den Problemen auf dem oben genannten Seite habe ich mindestens 5-10 Threads auf jeden einzelnen von ihnen mit Ausnahme von "Two Generals", die noch nie etwas gehört Ive gesehen. Ive mir nie die Zeit genommen, einen von ihnen zu lösen *, wohlgemerkt, aber sie sehen irgendwie interessant. Das "Ess-Philosophen" ist nicht angemessen, da es wirklich ein multi-process/threading Problem, aber für sicher, dass die "Acht Queens" oder "Türme von Hanoi" gut sind, also vielleicht ist das "Traveling Salesman" aber es muss mit Inhalt füllen aus. Ich denke, sie sind alle in mehr oder weniger Grad um Permutationen. Wenn sie zu kompliziert scheinen (ich glaube, sie würden die meisten Menschen nehmen mindestens einen Nachmittag) gibt es Tonnen von Problemen bei "Sphere online Richter":
http://www.spoj.pl/
obwohl die SPOJ Interface selbst ist Gimpy und Sie müssen sich registrieren, um die Herausforderungen zu durchsuchen, aber sie reichen von einfachen Sachen auf tot auf.

Wie auch immer, traurig, dass ich nicht mehr bin selbst kreativ, aber theres einige Anregungen. Vielleicht hat jemand kommen könnte mit einer Komplikation auf die ursprüngliche Idee von der OP (Sie müssen eine Komplikation), manchmal solche Sachen aus fällt vom Himmel und schafft es, in meinem Kopf Land...nur nicht so weit :oops:

* Ich habe genug Probleme der Programmierung, wie es gif "alt =": lol: "title =" Laughing "> aber ich verspreche, das man tun.
Bild
  • Rabid Dog
  • Cheese Monkey
  • Web Master
  • Benutzeravatar
  • Registriert: Mai 21, 2004
  • Beiträge: 3188
  • Loc: South Africa
  • Status: Offline

Beitrag Oktober 7th, 2009, 12:27 pm

OK gut, wenn der allgemeine Konsens ist, dass diese nicht drauf rein ist, werde ich sehen, ob ich kommen kann mit einem anderen.

Der schwierigste Teil ist, etwas zu finden, dass jeder auf der Arbeit kann.
My Software Development Company
Music I have recorded (fixed now :))
Bild
  • ingot
  • Born
  • Born
  • No Avatar
  • Registriert: Okt 16, 2009
  • Beiträge: 2
  • Status: Offline

Beitrag Oktober 16th, 2009, 9:08 am

Klingt interessant :)
  • Bogey
  • Disturbed
  • Genius
  • Benutzeravatar
  • Registriert: Jul 14, 2005
  • Beiträge: 7128
  • Loc: Ozzuland
  • Status: Offline

Beitrag November 9th, 2009, 8:31 pm

Ist der November-Challenge kommt? Ich kann nicht glauben Ich vermisste diese...Auch ich aber nicht wirklich zu verstehen, die Herausforderung.

Sie wollen, dass wir alle möglichen Kombinationen in einer gegebenen Menge von Sätzen zu finden, deren Zahl könnte irgendwo zwischen 0 und 9? Wenn ja, ich glaube, ich hab's.
Learn PHP | I got 10 PHP tutorials! Check them out!
Dreamtale - Farewell
Just a note... I've giving up on web development and that stuff... Just lost all interest in it.

Buchung Informationen

  • Beiträge in diesem Thema: 8 Beiträge
  • Mitglieder in diesem Forum: 0 Mitglieder und 160 Gäste
  • Du darfst keine neuen Themen in diesem Forum erstellen.
  • Du darfst keine Antworten zu Themen in diesem Forum erstellen.
  • Du darfst deine Beiträge in diesem Forum nicht ändern.
  • Du darfst deine Beiträge in diesem Forum nicht löschen.
  • Du darfst keine Dateianhänge in diesem Forum erstellen.
 
 

© Unmelted Enterprises 1998-2009. Angetrieben durch phpBB © 2001-2009 phpBB Group.