Spiel: Was kommt raus?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Spiel: Was kommt raus?

      Hey,

      ich finde das folge Spiel ganz lustig und würde es daher an dieser Stelle einführen.

      Einer schreibt immer einige Zeilen möglichst verwirrenden bzw. "hinterlistigen" Quelltext und die andere Mitspieler müssen durch logisches Denken die Ausgabe des Programmes herausbekommen und ggf. die einzelnen Schritte zum Ergebnis in die Antwort reinpacken.

      Die einzige "Regel" ist demnach dass der Quelltext - natürlich! - nicht ausgeführt werden darf. Sonst macht es ja auch keinen Spaß ... :)

      Bei den Sprachen würde ich das dann gerne auf die bekanntesten beschränken, das heißt C, C++, Java und C#.

      Für den Anfang beginne ich dann mit einem recht einfachen "Programm":

      Quellcode

      1. #include <stdio.h>
      2. typedef struct data01 {
      3. int dat01;
      4. int dat02;
      5. char dat03;
      6. int dat04;
      7. int dat05;
      8. char dat06;
      9. short dat07;
      10. } t_data01;
      11. int main(void) {
      12. char bytes01[15] = "PRONOOBPRONOOB";
      13. char bytes02[15];
      14. char bytes03[4];
      15. char *bytePtr;
      16. int i;
      17. for(i = 13; i >= 0; i--) {
      18. bytes02[13-i] = bytes01[i];
      19. }
      20. bytes02[14] = bytes01[14];
      21. bytePtr = bytes02+(sizeof(t_data01)-('0'-'&'));
      22. bytes03[0] = *(bytePtr-1);
      23. bytes03[1] = *(bytePtr-2);
      24. bytes03[2] = *(bytePtr-3);
      25. bytes03[3] = *bytePtr;
      26. printf("%s", bytes03);
      27. return 0;
      28. }
      Alles anzeigen


      Sofern jemand mitspielen möchte: Viel Spaß!
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Hm, Fehler sind keine enthalten. Aber es stimmt, dafür braucht man ein Grundwissen was Zeiger in C/C++ betrifft. :/

      Gut, parallel dazu folgendes (das ist älter und in PHP, sollte aber trotzdem gehen):

      PHP-Quellcode

      1. <?php
      2. $data = array(hash('haval128,3', 'My'), hash('whirlpool', 'Name'), hash('sha512', 'Dogget'), hash('adler32', 'Wont Be'), hash('md5', 'Your Name!'));
      3. $truefalse = array(false, true, round(0.6), round(0.2), round(round(0.49, 1)), round(round(round(0.445, 2), 1)), round(round(0.46), 1));
      4. $numeric = array(bindec(10000), bindec(101110111 ^ 101110100), bindec(11100)+$truefalse[0]+$truefalse[1], $truefalse[5], $truefalse[6]);
      5. for($key = array_search('0a401270', $data); ; $key = ($key << 1) | 1) {
      6. if($key == (3415345 & 12341234) >> 18) $key = 0;
      7. if($key == 7) $key = 2;
      8. if($key > 4) break;
      9. echo $data[$key][$numeric[$key]];
      10. }
      11. ?>
      Alles anzeigen