View Full Version : Mistero
Ciao a tutti,
stavolta non ho un problema in particolare, pero' ho trovato nella home di un mio prof. questo file, a parte che non pensavo neanche compilasse, ma oltre a farlo, fa molto di +...
Provatelo e ditemi se e' poco bello...
...qualcuno ha un'idea di come fa a dare quell'output?
ciao
Cimmo
P.S.= il file ovviamente e' da rinominare in .c
E' normale codice C...fa uso di diversi trucchetti....
L'operatore di if ternario...
i = (a < 2) ? a : 1;
La possibilità di separare diversi statement con la virgola...
Di poter usare _ come nome di una variabile...
Della chiamata ricorsiva di main...
Chiaramente non ci si capisce una mazza, ma può essere in qualche modo sbrogliato...con molta pazienza...
Addirittura esistono sorgenti in cui il codice è disposto a formare una immagine...
shadow76it
08-02-2003, 01:10
Originally posted by "Cimmo"
Ciao a tutti,
stavolta non ho un problema in particolare, pero' ho trovato nella home di un mio prof. questo file, a parte che non pensavo neanche compilasse, ma oltre a farlo, fa molto di +...
Provatelo e ditemi se e' poco bello...
...qualcuno ha un'idea di come fa a dare quell'output?
ciao
Cimmo
P.S.= il file ovviamente e' da rinominare in .c
Mi da errore quando lo scompatto peccato che non sono riuscito a vederlo
Originally posted by "shadow76it"
Mi da errore quando lo scompatto peccato che non sono riuscito a vederlo
Infatti non e' da scompattare e' da rinominare semplicemente in .c come ho scritto nel mio primo post...
Stupefacente. Semplicemente geniale.
Il tutto incluso in un'istruzione return.
Veramente bello. Quasi quasi vale la pena di capirlo.
lombardp
10-02-2003, 13:59
Originally posted by "mjordan"
Quasi quasi vale la pena di capirlo.
Io ho trovato questo: la stringa incomprensibile dovrebbe avere questo significato (criptata/occultata in qualche modo, ma non nel numero di caratteri).
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/
@n' : "On" + spazio
+,#' : "the" + spazio
/*{}w+ : "first"
/w#cdnr : "second"
/+,{}r : "third"
/*de}+, : "fourth"
...
/+k#;*+, : "twelfth"
la "/" serve a separare le varie opzioni "first","second",...
Non ho intenzione di continuare a "capirlo", ci sono troppe ricorsioni.
Originally posted by "lombardp"
Io ho trovato questo: la stringa incomprensibile dovrebbe avere questo significato (criptata/occultata in qualche modo, ma non nel numero di caratteri).
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/
@n' : "On" + spazio
+,#' : "the" + spazio
/*{}w+ : "first"
/w#cdnr : "second"
/+,{}r : "third"
/*de}+, : "fourth"
...
/+k#;*+, : "twelfth"
la "/" serve a separare le varie opzioni "first","second",...
Non ho intenzione di continuare a "capirlo", ci sono troppe ricorsioni.
Se non altro ho trovato un buon modo per farmi venire il mal di testa :D
Originally posted by "mjordan"
Se non altro ho trovato un buon modo per farmi venire il mal di testa :D
Vi ho trovato un bel rompicapo eh? :D
Nessuno riesce a sbrogliarlo del tutto?
/\/\@®¢Ø
12-02-2003, 19:02
Se avete tempo da perdere potete fare un giretto qua
http://www.ioccc.org/
fanno pure le gare a chi scrive il codice piu' assurdo.
A questo ad esempio sono entrati in simpatia argc e argv :D
main(argc, argv)
int argc;
char **argv;
{
while (*argv != argv[1] && (*argv = argv[1]) && (argc = 0) || (*++argv
&& (**argv && ((++argc)[*argv] && (**argv <= argc[*argv] ||
(**argv += argc[*argv] -= **argv = argc[*argv] - **argv)) &&
--argv || putchar(**argv) && ++*argv--) || putchar(10))))
;
}
3DDragon
13-02-2003, 08:35
Originally posted by "cionci"
E' normale codice C...fa uso di diversi trucchetti....
L'operatore di if ternario...
i = (a < 2) ? a : 1;
La possibilità di separare diversi statement con la virgola...
Di poter usare _ come nome di una variabile...
Della chiamata ricorsiva di main...
Chiaramente non ci si capisce una mazza, ma può essere in qualche modo sbrogliato...con molta pazienza...
Addirittura esistono sorgenti in cui il codice è disposto a formare una immagine...
ciao a tutti...
io non capisco come faccia a compilare quando manca la dichiarazione della variabile t e della variabile _ qualcuno mi illumina?
Originally posted by "3DDragon"
ciao a tutti...
io non capisco come faccia a compilare quando manca la dichiarazione della variabile t e della variabile _ qualcuno mi illumina?
Li dovrebbe prendere int per default :)
3DDragon
14-02-2003, 14:37
Originally posted by "cionci"
Li dovrebbe prendere int per default :)
giusto.....
che sciemo che sono...
Originally posted by "3DDragon"
giusto.....
che sciemo che sono...
Già già proprio "sciemo" :D :D
Originally posted by "/\/\@®¢Ø"
Se avete tempo da perdere potete fare un giretto qua
http://www.ioccc.org/
fanno pure le gare a chi scrive il codice piu' assurdo.
A questo ad esempio sono entrati in simpatia argc e argv :D
main(argc, argv)
int argc;
char **argv;
{
while (*argv != argv[1] && (*argv = argv[1]) && (argc = 0) || (*++argv
&& (**argv && ((++argc)[*argv] && (**argv <= argc[*argv] ||
(**argv += argc[*argv] -= **argv = argc[*argv] - **argv)) &&
--argv || putchar(**argv) && ++*argv--) || putchar(10))))
;
}
:D Che bel sito. Devo dire che per passare il tempo è un ottimo sito.
3DDragon
18-02-2003, 10:36
Originally posted by "mjordan"
Già già proprio "sciemo" :D :D
:p con la "i" fa molto piu scemo...eh! ;)
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.