nixp.ru v3.0

17 октября 2017,
вторник,
02:59:13 MSK

DevOps с компанией «Флант»
Uncle Theodore написал 18 октября 2004 года в 23:28 (323 просмотра) Ведет себя неопределенно; открыл 58 тем в форуме, оставил 1537 комментариев на сайте.


#include 
main(t,_,a)
char *a;
{return!0<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}

Скомпилируйте и прогоните. Ничего заподлястого в ней нету, честно!

Good Luck,

UT

Fatal

И долго ты ее набивал?

Uncle Theodore
Fatal
И долго ты ее набивал?

Подсветил правым мышем и запостил средним. В следующий раз засеку время в точности. А что?

Good Luck,

UT

fly4life

Кстати, классно! =). Давай рассказывай, как это работает ;)

Uncle Theodore
fly4life
Кстати, классно! =). Давай рассказывай, как это работает ;)

Так разве не очевидно? Ну возьми книжку по С, почитай… :-)

Good Luck,

UT

Dreid

Как работает, как работает… рекурсивно работает :)

Очень смешно реагирует, если запустить его с 28-ю параметрами :)

Кстати, кто может сказать, что выдаст такая програмка после компиляции, скажем gcc?

#include 
int main ()
{
        float a;
        for(a=0.01;a<=0.1; a+=0.01)
                printf("%f %.3f %d\n", a*100, a*100, (int)(a*100));
        return 0;
}
fly4life
Uncle Theodore
Так разве не очевидно? Ну возьми книжку по С, почитай… :-)

Нууу, если ты в корневом посте сказал вот это:

Ничего заподлястого в ней нету, честно!

то понимал и ожидал, что не все поймут и не все знают как это работает. Я один из таких ;). И я уверен, что тут такой не один. Просто остальные (кому интересно) боятся спросить, вдруг за дураков примут ;).

Так что давай рассказывай, не стесняйся =)).

decvar

я тоже не знаю как оно работает. чесно говоря, я и скомпилить не пробовал.

vnp
decvar
я тоже не знаю как оно работает. чесно говоря, я и скомпилить не пробовал.

Это очень старый прикол. Победитель ioccc 1988 года. Вообще, кто не ходил на www.ioccc.org, загляните. Там много занятного.

Ilyas
Dreid
Кстати, кто может сказать, что выдаст такая програмка после компиляции, скажем gcc?

Я Си не знаю, но скорее всего после компиляции мы получим исполняемый файл :)

А выполнятся она будет долго (может быть) из-за наличия @return 0@

anonymous
Dreid
Как работает, как работает… рекурсивно работает :)

Очень смешно реагирует, если запустить его с 28-ю параметрами :)

Кстати, кто может сказать, что выдаст такая програмка после компиляции, скажем gcc?

#include 
int main ()
{
        float a;
        for(a=0.01;a<=0.1; a+=0.01)
                printf("%f %.3f %d\n", a*100, a*100, (int)(a*100));
        return 0;
}

могу

1.000000 1.000 0
2.000000 2.000 1
3.000000 3.000 2
4.000000 4.000 3
5.000000 5.000 5
6.000000 6.000 6
7.000000 7.000 7
8.000000 8.000 7
9.000000 9.000 8
9.999999 10.000 9
anonymous

в догонку… для тех кто не компилил первую, вот что выводится при выполнении:

On the first day of Christmas my true love gave to me
a partridge in a pear tree.
On the second day of Christmas my true love gave to me
two turtle doves
and a partridge in a pear tree.
On the third day of Christmas my true love gave to me
three french hens, two turtle doves
and a partridge in a pear tree.
On the fourth day of Christmas my true love gave to me
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the fifth day of Christmas my true love gave to me
five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the sixth day of Christmas my true love gave to me
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the seventh day of Christmas my true love gave to me
seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the eighth day of Christmas my true love gave to me
eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the ninth day of Christmas my true love gave to me
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the tenth day of Christmas my true love gave to me
ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the eleventh day of Christmas my true love gave to me
eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
On the twelfth day of Christmas my true love gave to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
Ilyas

:)

буду изучать Си

anonymous

из этой же серии:

#include 
main(t,b,a)
char *a;
{
return!0<3?main(-79,-13,a+main(-87,1-b,
main(-86, 0, a+1 )+a)):1,t<b a="">
)&&t == 2 ?b<2 ?main ( 2, b+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(b,
t,"~~`u<-}!m<^(8!x!&<.4!:,^}.}^~~/~~p,!#,n!81<((!^}{}{3}^%!',5!5}!n8}=!1,\
!3}~:}}(<@2!1,2}1'}^%!3}(}<.}!<@!5'41}.}^~;#!(,.}!'48!84<=!1,!{}~7,1'!,+!\
n8!5}^}!=^}4{}^8~>,n@2!(,.}!<@!1'}!8n@~:}(1!(<,n^%!{#!8u<^<1!v!\
24.}!#,n~l}i=!,@(#!*n81!3}24@~~y4814!;4@4@4%!)(54#8!3}!{<@}~~&<.4!+,^}.}^\
%!vi((!3}!54<1<@2~t.}^(481<@2%!(<.}!+,^}.}^%!+,^!1'}!{,{}@1~\
t.}^!8}4^-'<@2!1,^!1'}!8n@~~>}8!v!81<((!^}{}{3}^%!}.}^!5<8u}^}=!5,^=~q'}!\
1,n-'!,+!#,n!8w}4@%!2<.<@2!(<+}!+^,{!5<1'<@~j
^=~`(<@2}^8%!(<{}~$^,{<8}8!{4=}%!}.\
}^#!{}{,^#!84.}=~y48!^}+(}-1<,@!<@!{#!{<@=~~y4814!;4@4@4%!)(54#8!3}!{<@}~\
~&<.4!+,^}.}^%!vi((!3}!54<1<@2~t.}^(481<@2%!(<.}!+,^}.}^%!+,\
^!1'}!{,{}@1~t.}^!8}4^-'<@2!1,^!1'}!8n@~~7n1!5}i^}!4((!4(,@}!@,5%!548!<1!\
*n81!4!=^}4{~:}}(<@28!n@1,(=%!1'}#!5<((!@}.}^!3}!8,(=~)@=!1'}!8}-^}1i8!84\
+}!5<1'!{}~~y4814!;4@4@4%!)(54#8!3}!{<@}~~&<.4!+,^}.}^%!vi((!3}!54<1<@2~t\
.}^(481<@2%!(<.}!+,^}.}^%!+,^!1'}!{,{}@1~t.}^!8}4^-'<@2!1,^!\
1'}!8n@~////////////////////////~/")
:t<-50?b==*a ?putchar(a[48]):main(-65,b,a+1):main((*a == '/')+t,b,a\
+1 ):0
1:3-=2'{7}`qw(*)i%m$,<@+!u&tjr^yb4vn.;lo#z5>x\nDstFbcdghmBeSTk\
ljA',GPoinf pVELqrH.aIuvMWxyzwY-"),a+1);
}</b>

<b a="">кста это кодированная песня «пряных девок"</b>

Uncle Theodore

Чей-то как-то тихо кругом…

Вопрос на засыпку: что делает вот эта программа? И как она это делает?

#include
int main()
{
  int x,y;
  x = x^y;
  y = x^y;
  x = x^y;
  return 0;
};

Прикол простой, но забавный.

Good Luck,

UT

Genie

;)) помнится, на программировании этот прикол разбирали ;)

кстати, запись можно подсократить, используя ^=

куда интереснее вопрос о нахождении другой подобной функции. ;)))

при помощи которой возможно подобное преобразование.

Uncle Theodore
Genie
куда интереснее вопрос о нахождении другой подобной функции. ;)))

при помощи которой возможно подобное преобразование.

Ну, дык, можно с плюсами и минусами, только так красиво не получится.

x=y-x;

y=y-x;

x=x+y;

А так, нужна хвункция, удовлетворяющая уравнению

f(x, f(x,y)) = y

Good Luck,

UT

Longobard
Uncle Theodore
Чей-то как-то тихо кругом…

Вопрос на засыпку: что делает вот эта программа? И как она это делает?

#include
int main()
{
  int x,y;
  x = x^y;
  y = x^y;
  x = x^y;
  return 0;
};

Прикол простой, но забавный.

Good Luck,

UT

прикол в том, что наш информатик за такое ставит 2 в полугодии не глядя. Епта, кто будет переменные инициализировать? Пушкин?

Genie
Епта, кто будет переменные инициализировать? Пушкин?

в данном случае, это совершенно необязательно ;))

так как показывается алгоритм, а что у него по смыслу — это как раз и спрашивается.

неужто без присваивания значений невозможно определить, что будет с переменными?

ну, добавь. самостоятельно. и printf добавь. уж чтобы вывод какой-то был. только не в том вопрос-то ;)

Uncle Theodore

LONGOBARD разбушевался… :-)

А вот тебе за это задачка: сможешь без дополнительной переменной (как в моем примере) /циклически/ переставить значения трех переменных (ну или N переменных)? Т.е, для x, y и z сделать

x <- z;

y <- x;

z <- y;

Сколько шагов тебе понадобится для N переменных?

Good Luck,

UT

Longobard
Uncle Theodore
LONGOBARD разбушевался… :-)

А вот тебе за это задачка: сможешь без дополнительной переменной (как в моем примере) /циклически/ переставить значения трех переменных (ну или N переменных)? Т.е, для x, y и z сделать

x <- z;

y <- x;

z <- y;

Сколько шагов тебе понадобится для N переменных?

Good Luck,

UT

задачка для пятого класса. Для этого не нужна дополнительная переменная.

Вот для двух:

y = x + y;
x = y - x;
y = y - x;

А для N… Ща подумаю..

z = x + z;
x = z - x;
z = x - z;
//поменяли местами крайние переменные.
//теперь меняем крайнюю и среднюю
z = y + z;
x = z - y;
z = y - z;

так, вот вроде.

Получается для двух нужно 3 операции, для трех — 6. Вобщем 3*(n-1) операций, где n — кол-во чисел.

Возможно не самый рациональный способ. Надо бы подумать. Но если научились менять местами две переменные — то и любое колд-во можно поменять, просто разбив переменные на пары. Чем-то напонимает сортировку пузырьком. Только в нашем случае идем по ряду чисел, меня их местами, и так пока все не поменяем.