Ankündigung
Einklappen
Keine Ankündigung bisher.
phpgolf :)
Einklappen
Neue Werbung 2019
Einklappen
X
-
Bähh da kann man ja richtig Zeit mit tot machen. Fast zwei Stunde und trotzdem noch 1/3 Code zuviel.
Einen Kommentar schreiben:
-
Hey, ich bin noch in den Top-20.
bump again, weil gerade per Suche gefunden
Einen Kommentar schreiben:
-
133 Byte.
Hilfe, Rückfall.
- http://www.php.de/php-einsteiger/858...umwandlen.html
PHP-Code:<?php // File encoding: WINDOWS-1252
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
define('TEXT', 'x=1|y=2|z=4');
for($_=split(~¤Âƒ¢,TEXT);$t=$_[+$i++];$r[$t]=$_[$i++]);print_r($r);
PHP-Code:for($_=split('[=|]',TEXT);$t=$_[+$i++];$r[$t]=$_[$i++]);print_r($r);
Einen Kommentar schreiben:
-
Der Spitzenwert liegt dort mittlerweile bei 138 Byte. Das ist verrückt.
- http://www.phpgolf.org/challenge/phpGolf
Glaube, mein aktueller Ansatz speichert abwechselnd pro 4 Bit die Anzahl an Rauten beziehungsweise Leerzeichen und x00 ist ein Zeilenumbruch oder so. Ein Byte wüsste ich noch rauszuholen, aber bei dem Getrickse braucht es dummerweise schon Buildscripts, um den tatsächlichen Code zu generieren… (Edit: Na ja, logischerweise braucht es die.)
*bump*
Einen Kommentar schreiben:
-
Doch doch, ich habe mir mal erlaubt, deine Lösung umzubauen, dass sie die Ausgabe zeilenweise mit rtrim() macht. Nach "Optimierung" der Schleife und ein paar anderen Tricks immer noch nur 185 Bytes. Habs grad nochmal mit 7 statt 6 Bit Information pro Zeichen versucht, damit wären es theoretisch nochmal weniger weil immer gleich geshiftet wird aber bin irgendwo am Zeichensatz gescheitert..
Einen Kommentar schreiben:
-
wie gesagt: war meine erste Version, die, auch wenn ich sie kürzer mach, allein vom Aufbau her nicht funktionieren kann.
Ich bau die Ausgabe Spaltenweise auf (jedes Zeichen ist eine Spalte), kann daher nicht ohne weiteres Leerzei[b]ch[/]en am Zeilenende vermeiden.
Aber danke, ich merks mir vor
Einen Kommentar schreiben:
-
Dann schreibste noch das "\n" nach vorn, lässt die {} weg und die 0-Initialisierungen der Schleifenzähler. Und das $k-Inkrement kannst Du auch bei der ersten Verwendung machen.
Einen Kommentar schreiben:
-
Genialer Ansatz. Ich habe eine Weile überlegen müssen, bis ich verstanden habe, dass du LeerZEICHEN meinst.. bau den String doch in der inneren Schleife zusammen und gib ihn dann mit rtrim aus.
Einen Kommentar schreiben:
-
was zum...
Hab meine Version mal testeshalber eingeschickt, auch wenn ich wusste, damit nicht auf den vorderen Plätzen zu landen. Resultat: failed oO
Grund, ich habe Leerzeilen am Zeilenende, die "Musterlösung" nicht.
Naja, da die Lösung also eh vom Grund auf falsch ist, hier mal mein Versuch
PHP-Code:<?$_='~~HHHHHNE??~~GGGGG~~??~~HHHHHNE??]~````hhhzQ??]~``````~]??~~______??~~HHHHHH';for($i=0;$i<7;++$i){for($k=0;$k<76;++$k)echo ord($_{$k})-0x3F&1<<($i>4?$i-1:$i)?'#':' ';echo"\n";}?>
Einen Kommentar schreiben:
-
Zitat von fireweaselHüh? Die Beispiele hab ich alle schon hochgeladen. Soweit ich das verstanden habe, wird die gleiche Lösung nicht zweimal akzeptiert, also besteht keine Gefahr, dass dies irgendjemand ausnutzen könnte. Es sei denn, ich hätte irgendwo ein Leerzeichen übersehen ...
Zitat von Screezemag mal jemand seine lösung hier posten? würd mich interessieren der ansatz...
*schulterzuck*
Einen Kommentar schreiben:
-
Ein Gast antworteteuff das is ja grausam
hab jetzt mal ne stunde gebaselt..
Ist sogar ne einigermaßen generische lösung (wenn es zählt dass man den string der rauskommen soll vorher durch ne andre php datei jagen darf und den output davon dann als ausgangsparameter verwenden darf)
Aber selbst komprimiert soweit mir möglich, komm ich nicht auf unter 283 bytes, weil blöderweise mein input-string der dann verwendet wird zum zusammenbauen schon 135 bytes verwendet...
edit:
ok so wird das nix
leider keine zeit mehr für was anderes...
aber mal ne idee:
"## # ####"
-> 3-2-1-1-4
die quersumme daraus ist 11
multipliziert -> 24
wenn man das im format '5|11|24' als input verwendet, und dann einfach mal n paar schleifen solange drüberlaufen lässt, bis es die passenden ausgangszahlen gefunden hat... ob das noch ne eindeutige lösung gibt? (von laufzeitbegrenzung hab ich nix gelesen )
edit: mag mal jemand seine lösung hier posten? würd mich interessieren der ansatz...
Einen Kommentar schreiben:
-
Zitat von mermshaus Beitrag anzeigenMir hat die "phpGolf"-Challenge bislang am besten gefallen, da dort etwas mehr zu tun ist, als mehr oder weniger den kürzesten Befehl zu kennen und mit der Syntax zu tricksen.
Ich glaub, ich muss irgendwie anders da dran gehen
Einen Kommentar schreiben:
-
Ich meinte, dass man auch einen Algorithmus schreiben könnte, der jedes auf diese Weise kodierte Ascii-Art-Bild "entpacken" und rendern kann. Meine Lösung kann das definitiv nicht.
Das gilt wohl für nahezu jede der Challenges.
Einen Kommentar schreiben:
-
Zitat von mermshaus Beitrag anzeigenEine Lösung, die nicht allgemeingültig ist.
Einen Kommentar schreiben:
Einen Kommentar schreiben: