С подпис программ
Original on http://www.iwriteiam.nl/SigProgC.html
Подпис програми са кратки програми, които хората са използвали като част от подписа си. Те са малки (2-4 реда) програми, които са често доста загадъчен, защото те трябва да се спести място колкото е възможно повече. Програмата C език е по-скоро компактен програмен език, който позволява да пишете cryptical код. Поради тази причина не е странно, че тя често се използва за подписване програми. Вижте и множеството на Манделброт страница за подписване на програма за повече програми на C подпис.
Подписи от Крис Браун
/* _ */main(int k,char**n){char*i=k&1?"+L*;99,RU[,RUo+BeKAA+BECACJ+CAACA"
/* / ` */"CD+LBCACJ*":1[n],j,l=!k,m;do for(m=*i-48,j=l?m/k:m%k;m>>7?k=1<<m+
/* | */8,!l&&puts(&l)**&l:j--;printf(" \0_/"+l));while((l^=3)||l[++i]);}
/* \_,hris Brown -- All opinions expressed are probably wrong. */
Той е написал един от себе си. Някои по-стари от него са:
main(){char*i="L0[B0BCA7G0BFACIW0BfRAAB0BCACAFR0[BCAFE0LCCAFR0",j,k=0;for(;*i;
*++i==48&&puts(""))do for(j=*i-48>>k&7;j--;)putchar(k+32);while(k^=3);}
/**i="ADD08:::::08:::::08:::::08:::::08:R::08::;9:08::D:08:j:08:7<0997<0jh0"*/
И производни от по-горе:
main(){char*i="ADD08:::::08:::::08:::::08:::::08:R::08::;9:08::D:08:j:08:7<0997<0jh0",
j,k=0;for(;*i;*++i==48&&puts(""))do for(j=*i-48>>k&7;j--;)putchar(k+32);while(k^=3);}
pre>#include <stdio.h>
int main(){printf("%d\n",(int)(90-(-4.5//**/
-4.5))); return 0;} /* ais523@?????????? */
Опитайте се да намерите името на Martijn цаката човек игра
/* <xxxxxxxx@xxx.xxx.xx> | Use gcc <signature> to guess my full name */
main(){char s[]=".bg`z`lE)gc`}{hD-|\\/OI:retteL>\n\n",k;long w=32,r,_,y
,i,b,g,p[]={63l<<16,37968,15,32,896,2048,24576,37449,2,12546,3074,19138
,3586,585,0},t;b=g=r=0;while((b<7)&&(g<65278)){for(_=16;_+10;)putchar(_
-->0?_&7?g>>_&1?s[_]^9:46:w:s[_+w]);while((k=getchar())<65);for(_=15,t=
g;_;)if((s[_--]^9|w)==(k|w))g|=2<<_;if(t==g)r|=p[b++];for(y=9,t=0;y--;)
for(_=9;_;)putchar(--_?(i=p[y+6]>>24-3*_&7)?r>>t++&1?s[i+15]:w:w:10);}}
Изчисляване на Pi в 2 реда от ДИК Т. Зимни
Следните 160 характер C програма, написана от ДИК Т. Зимни в CWI, изчислява пи до 800 десетични цифри.
int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c
-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}
Той също пише за изчисляването на първите 15 хиляди цифри:
a[52514],b,c=52514,d,e,f=1e4,g,h;main(){for(;b=c-=14;h=printf("%04d",
e+d/f))for(e=d%=f;g=--b*2;d/=g)d=d*b+f*(h?a[b]:f/5),a[b]=d%--g;}
За някои основна информация, прочетете безгранична алгоритми кран за цифрите на Pi. (И още по-кратки.)
Осем Куинс програма, написана от Марсел ван Kervinck
/* Marcel van Kervinck <xxxxxxx@xxxxx.xxx.xxx.xx> */
t(a,b,c){int d=0,e=a&~b&~c,f=1;if(a)for(f=0;d=(e-=d)&-e;f+=t(a-d,(b+d)*2,(
c+d)/2));return f;}main(q){scanf("%d",&q);printf("%d\n",t(~(~0<<q),0,0));}
Когато програмата се работи, е да даде номер n -малък от 32, програмата ще се върне в колко различни начина n Куинс може да бъде поставен на A n n борда така, че те не могат да бият помежду си.
Имайте предвид, че на d=(e-=d)&-e; изявление може да се компилира грешно на някои компилатори. Вътрешната задача трябва да бъде изпълнена на първо място. В противен случай да го замени с e-=d,d=e&-e;.
Честит рожден ден на програма, написана от Джак Tan
#define X "Happy birthday to you\n"
main(){printf(X X"%.15sdear YourName\n"X,X);}
Тегло на 73 + N знака, това е победител на неформална конкуренция, за да намерите най-малката програма на C, за да отпечатате Честит Рожден ден песен за някой N чието име е дълъг N герои. Ако сте заинтересувани от детайлите, попитайте Том Magliery.
Един цитат от Дейвид Korn, AT & T Bell Labs
"main() {printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}"
-- David Korn, AT&T Bell Labs
Използва се от Бил У. Кели.
Ристо Paasivirta
Цвете програма печат подпис:
xxxxxxxx@xxxxx.xxx.xx (Risto Paasivirta).
char a[1761],*b;main(){int c,k;double d,e=1.111,x,y,z,sin(),cos();for(b=a,
c=1760;*b++=' ',--c;);for(d=.1;d<=1.3;d+=.2)for((y=d,x=0.0,c=150);c--;){z=
x*cos(e)-(y-x*x)*sin(e);y=x*sin(e)+(y-x*x)*cos(e);x=z;k=x*20.0+40+((int)(-
y*10.0+11))*80;if(k>=0&&k<1761)a[k]='*';}puts(a);}
Pi програма за изчисляване на:
/* Risto Paasivirta, xxxxxxxx@xxx.xx (130.234.0.6) */int a[33235],*b=a,c=1e4,d=
33234,e,f,g=0,h,i;main(){for(e=d;e--;*b++=2);*b=4;for(e=2501;e--;printf("%04d",
h))for(b=a+d,f=d;f>-1;g*=f--){i=*b*c+g;h=f?2*f+1:c;g=i/h;*b--=i%h;h=g;}}
(Забележка: Тази програма отнема известно време, за да се изпълни.)
Една програма за генериране на лабиринт от Джоузеф Х. Алън
/* xxxxxxx@xxxxx.xxx.xxx (192.74.137.5) */ /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n","#"[!a[q-1]]);}
Странен програма от Реал Gagnon
-------------------------+ #include <stdio.h> /* BC ok , Apollo NFG */
Real Gagnon, | int main(void) { int i=0;
Universite de Montreal | while(putchar(i++["\13Dl~fxym789\26xd"]-i));
xxxxxxx@xxx.xxxxxxxxx.xx | while(putchar((--i)["\0\t+*)('&%$#\"\1"]+i));}
Странен програма от Жак дьо Вилие
r(_,i){return putchar(!i?_:' '),i?r(_,--i):(putchar('\r'),_);}main(_){return _
==' '?_:r(main(_+_/_),_)^_["];!aL#3%17t\211N,=<je\42f\227`&!&-8\42~/KK"]-'!';}
Sierpinski Gasket от Брендън McKeon
char c[160],z;main(x,d){for/*/ Brendan McKeon /*/(x=159;x--
;c[x]=32);c[79]=z;c[39]=88/*/ xxxxxxx@xxxx.xxx.xx /*/;for(d=31;x
=78,puts(c+z),d--;z=80-z)/*/ http://alf2.tcd.ie/~bmckeon /*/for(;--x;c[x
+80-z]=88-56*!(c[z-!0+x]/*/ 4th Yr. 'Comp Sci' 'Student'/*/-c[z+x+1]));}
Две програми за подпис от Jos Horsmeier
Продължих тези малки чудовища около ми. SIG за известно време. Първият от тях отпечатва магически квадрати странно размер. Размер параметър трябва да бъде даден на командния ред. Вторият малко нещо, което играе ход на Ним. Насладете се…
main(o,O0)char**O0;{int OO,O;O=--o?atoi(O0[!0]):!
0;for(o=((OO=O*O)-O+!0+!0)>>!0;OO;o+=((--OO%O)?-!
0:((((o-!0)%O)?O:0)+!0))-(((o-!0)%O)?O:0)){printf
("\n%*d "+!!(OO%O),!0<<!0<<!0,o+=(o<!0)?O*O:0);}}
int n;main(i,m)char**m;{while(--i)n^=atoi(m[i]);
while(*++m)if((n^atoi(*m))<atoi(*m)||atoi(*m)*!n
){printf("%d\n",(n^atoi(*m))-!n);while(*++m)puts
(*m);m--;}else puts(*m);} /* play: nim <nums> */
Една програма за криптиране на Майкъл Шрьодер
Michael Schroeder
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
Той също така пише:
/* Convex Administration xxxxxxxxxxxx@xxxx.xxxxxxxxxxxx.xx |
|__RRZE____________________________________________________*/
main(_){char*x="=#6#694.21..#62.*.*2-)1#62.*..*.=#=1..29..#";
while(_=*x/4)_-=8,printf("\n%*s"+!!_,_+_,"_/_/_/"+*x++%4*2);}
Той също е написал друга подпис програма.
Осем Куинс борда генериращи програма
v,i,j,k,l,s,a[99]; main() {
for(scanf("%d",&s);*a-s;v=a[j*=v]-a[i],k=i<s,j+=(v=j<s&&(!k&&!!printf(2+"\n\n%c"
-(!l<<!j),"#Q"[l^v?(l^j)&1:2])&&++l||a[i]<s&&v&&v-i+j&&v+i-j))&&!(l%=s),v||(i==j
?a[i+=k]=0:++a[i])>=s*k&&++a[--i]);} /* Osovlanski and Nissenbaum */
Произход неизвестен. Изпратено от Чарлз Ричмънд. Изглежда да бъдат нарушавани.
Програма лабиринт генератор от Джон Tromp
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<<11<rand()||!C&!Z?J[T[E]=T[A]]=E,J[T[A]=A-Z]=A,"_.":" |"];}
Имайте предвид, че постоянното 11 поема 15-битов генератор на случайни числа, и трябва да бъдат заменени с 27, ако ранд () произвежда 31-битови числа, вместо.
Вижте страницата Програмиране Pearls за повече. Има завоалира Тетрис програма на само 1467 символа (само малко прекалено дълго за подпис).
Виж също Ин-Ян подпис.
Програмата за конверсия от Том Dawes Gamble
main(int c,char **v){long x;while(--c){sscanf(*++v,"%li",&x);
printf("Decimal = %ld Hex = 0x%lx octal = 0%lo\n",x,x,x);}}
ARGS са шестнадесетичен или Декември или Октомври продукция е шестнадесетичен и ДЕК и ОСТ.
Скорошно програма за подписване от него е:
int g(int g){putchar(g);}main(){int c=c==c,h=-~c,a=h+h,*r=(int*)gmtime(&c)+a;
char*t,i,m,e;*r++=++a,*r=h+c<<h+h;a=mktime(r-a);t=(char*)ctime(&a);i=g(*t+*(t
-~h));m=g(*++t-(h<<h));e=g(*++t-c);g(*t+h);g(*++t<<c);g(i);g(m);g(e);g(*--t+h
);e=g(*r-h);g(*t-h);g(*--t+~h*h);g(e);g(g(*t)-(e=(h<<h)+h));g(e);puts(--t);}
Неговото обяснение е:
- А докато отиде един от моите coleagues ми нещо на предизвикателството да пишат. SIG, че печатни моя имейл адрес от нищо, така да се каже. Ами аз мисля, че съм го направил.
Разбира се, че няма да мине стена или всякакви проверки за марля, но хей! работи на HP-UX и Linux. Очевидно, ако го пробвам на компютър, работещ с MicroSquish OS се провали с “програмата твърде големи, за да тече” (HELLO!!)
Програмата отпечатва моя имейл адрес и дата на раждане. (Забележка: – времето не е наред, но аз не знам, че така или иначе)
Програмата не е литерали, NO номера и не изисква вход от потребителя, освен съставянето и прилагането на програмата. Така че аз мисля, че тя започва с нищо. Ползвал съм на минималния брой различни символа. Мисля, че има само 29 различни герои в източника, включително и на нов ред и пространство.
Той също пише C и подпис програма на COBOL polygot.
Някои програми за подпис от Patrik Лундин
Освен едно множеството на Манделброт програма подпис, той също така създава следното. Красноречив калкулатор на номер:
main(x,y/* Patrik Lundin | xxxxxx@xxxx.xxxx.xx */){for(;x++;)
for(y=2/* Docentv. 28 | xxxxxxx@xx.xxxx.xx */;x%y;)printf(
++y/x+/* 977 52 Luleaa | http://www.ludd.luth.se/~lundin */"\0%d\n",x);}
А морзови програмист:
main(a,b){for(;a=223&getchar()+1;putchar(32))if(a>64&a<92)for(b=0,a=
"Xzjtpnd~xFTvHhDfRl|P\\^LZJr"[a-66];(a/=2)>1;b+=a%2)b&&putchar(45+a%2);}
А декодиране на морзови:
main(c,r){for(r=0;c=getchar()+1;r=c-33&&c-11?r+r+1+(c
<47):putchar(" etianmsurwdkgohvf-l-pjbxcyzq"[r])*0);}
Редица factorizer:
main(i,c){for(scanf("%d",&c);1<(c/=i);printf("%d\n",i))for(i=1;c%++i;);}
За повече вижте му завоалира страница C.
Vigenere кодиране / декодиране на Bruno Van Wilder
Bruno Van Wilder Royal Holloway, University of London
main(int n,char**a){for(n=0;putchar(a[2][n]?(a[2][n]%32+(**a%2*2-1)*
(a[1][n++%(a[2]-a[1]-1)]%32-1)+25)%26+97:10)-10;);}
(Vigenere encryption/decryption)
Подписът програма от Sander Stoks
/* xxxxxxx@xxx.xxx.xx */ main(){char*c="2$$,$$2CD$45$$,$$5(D$4%$$,$$%(D$4%J\
*/K*%(K,K2MMPL%2HLH,4LLLL$4HLF$4RLLS$4HL%;5MLLD$5HL&<5MLPL$5HLHL2R,/K$2(K,+";
int _=0,__,K;for(;_<10;_++){for(__=0;__<11;__++)for(K=0;K<6;)putchar(c[11*_+\
__]-36&1<<K++&&__*6+K<65?'#':' ');putchar(10);}} /*ATARI Falcon030 */
ASCII програми за изкуство филм от Илия
------ /* cc signature.c -lm */
main(){int i,j,k,l;for(i=-12;i<13;i++,printf("\e[H")){for(l=141596885;
l>8;l>>=4)p(97-(l>>22)+(l&15));for(j=-12;j<12;){for(k=j+12?-12:-6;12>k
;)p((l=k*k+++i*i+j*j)<144?(l=sqrt(l))[".,:;iIJYVSOM"]:32);j++<11?p(10)
:0;}}puts("Elijah: xxxxxxxx@xx.xxxxxx.xxx");}p(int m){printf("%c",m);}
и (за Деня на Св. Патрик):
-- /* if(TERM==ANSI) {cc -Dc=`"\e[32m"` sig.c} else {cc -Dc=\"\" sig.c} */
e(int d){printf("%c",d);}main(){int a=0,b;for(b=141596885;b>8;b>>=4)e(97-(
b>>22)+(b&15));puts(c);for(;a<128;){b="}////+c)cy////*494y////*979y///+e*"
"959*ey///*I5Q*939*I5Qy///*96bI3Qb69y///*!777!y///*Y6kIql6Yy///*A5q+9!,A5"
"9y///+m,YQ-my////-iq~y"[a++];for(;7&b;e("Eli!: MV?JL1m\"P\n"[b-->>3]));}}
Андрю Garrard
Той има голяма колекция. Той си запазва авторското право, така че той може да ги използвате в IOCCC – особено тази на Свети Валентин, който е напълно законен, независимо от четири компилатори, които мислят по друг начин. Той също е написал две Манделброт програми набор подпис.
Full raytracer (отпечатан име, широка, LM, 73 колони):
main(c){float x,y=-2,a;for(;2>(y+=.2);puts(""))for(x=-4;4>(x+=.1);printf(
"%c","MHRXY]i:' "[9>a?(c=21+8*(x-y-7)/a*(3-sqrt(9-a)))>0?c:0:y<1?9:((c=98
-1.2*x/y)&1^1&(c=-4.8/y))+(a=4*(x-7)+17*y,a*a/81<x*x+16+9*y*y-24*y)<<2]))
a=8+x*x/2+y*y/2;puts("Andrew Garrard - xxxxxxxxxx@xxxxxxx.xxxxx.xx.xx");}
Full raytracer (3 реда код, защото някои компилатори се нуждаят, на включват, без име, широк, LM, 79 колони):
#include <math.h> /* Andrew Garrard - xxxxxxxxxx@xxxxxxx.xxxxx.xx.xx */
main(c){float x,y=-2,a;for(;2>(y+=.2);puts(""))for(x=-4;4>(x+=.1);printf("%c",
"MHRXY]i:' "[a<9?(c=21+8*(x-y-7)/a*(3-sqrt(9-a)))>0?c:0:y<1?9:((c=98-x*1.2/y)&1
^1&(c=-4.8/y))+(a=4*(x-7)+17*y,a*a/81<x*x+16+9*y*y-24*y)<<2]))a=8+x*x/2+y*y/2;}
Джулия (времето зависи, тесни, LM, не работят по Norcroft):
/* o._.o Andrew Garrard - xxxxxxtxxx@xxxxxxx.xxxxx.xx.xx */#include <time.h>
/* ((^)) */main(c){float x,y=2,X,Y,Z,q,t;q=sin(time(0))*1.3;t=sqrt(1.69-q*q);
/* O)_(O */for(;(x=-2)<(y-=.1);puts(""))for(;Y=y,(X=x+=.05)<2;c=printf("%c",c
/* O/ \O */[" .-:|O8H#"]))for(;X*X+Y*Y<4&&++c<8;Z=q+X*X-Y*Y,Y=2*X*Y+t,X=Z);}
Перихелия (леко замъглени):
/* ___ */int x=-1;int f(){return x+++1&&("MX+###'$##TYC78%##3$##-K`5,##C&"
/* (/. .\) */"#[PB##&S$#?&WG<P.L)D++%<-%K)T($MC+TI70YL.MGEAM#<Y(9K.MG:C03;LK."
/* \(T)/ */"OPFW3,L1:MNW5=KWb=&DX5MNWY15X=]aBM96bLG7]R@''Y(Zb&%^EbCSQ$$bP,/"
/* O~ ~O */"==1J)0J)<1>"[x/6])-35&1<<x%6;}main(y){return y-440&&printf("%s",
/* ()-() */" \0\\\0|\0/\0.\0'\0_\0\n\0[\0[]\0:_:\0[ |\0 || \x00[__] \0__\0"
/* Andrew */"'.__.'\0"+(f()?f()?f()?29:f()?8:f()?35:f()?44:f()?21:f()?16:18:f
/* Garrard */()?f()?f()?6:14:f()?41:f()?2:25:f()?4:f()?12:10:0))&&main(++y);}
Перихелия (ми мечка):
/* .O_ */int y=0,x=-1;int f(){x++;return("MX+###'$##TYC78%##3$##-K`5,##C"
/*: .\__ */"&#[PB##&S$#?&WG<P.L)D++%<-%K)T($MC+TI70YL.MGEAM#<Y(9K.MG:C03;L"
/*O.(4) _() */"K.OPFW3,L1:MNW5=KWb=&DX5MNWY15X=]aBM96bLG7]R@''Y(Zb&%^EbCSQ$$b"
/* \_ .''.\_ */"P,/==1J)0J)<1>"[x/6])-35&1<<x%6;}main(){for(y=0;y++<439;)printf
/* / '..'__()*/("%s"," \0\\\0|\0/\0.\0'\0_\0\n\0[\0[]\0:_:\0[ |\0 || \0[__] "
/* ()/\____() */"\0__\0'.__.'\0"+(f()?f()?f()?29:f()?8:f()?35:f()?44:f()?21:f()
/* Fluppeteer */?16:18:f()?f()?f()?6:14:f()?41:f()?2:25:f()?4:f()?12:10:0));}
Коледно дърво (кратко, но неразбираеми):
/* _ *//* Andrew Garrard */int y,z;main(x){x=(x>0?-9:x);z=((z=(x+5)
/* /:^/ \_/))*/)>0?z:-z);printf(!x&&++y?"\n":z?z>y%3+y/3?" ":x<-5?"/":"\\":
/**<_o_(\__// */y?"|":"*");y-9?main(++x):puts(" _|_|_")&&puts(" \\___/");}
/* D-|\O *//* A party animal is for life ... not just for Christmas. */
Коледно дърво (сладък, но дълго):
/* * Andrew Garrard - xxxxxexxxx@xxxxx.xx.xx */
/* /_\ */int y,z;main(x){x=(x>0?-9:x);z=((z=(x+5)
/* o. .o */)>0?z:-z);printf(!x&&++y?"\n":z?z>y%3+y/
/* ((Y)) */3?" ":x<-5?"/":"\\":y?"|":"*");y-9?main(
/* ()) (() */++x):puts(" _|_|_")&&puts(" \\___/");}
/* ()^() A party animal isn't just for Christmas.*/
Валентин (е избухнала Watcom, Norcroft, зарове и Lint досега…):
/* db.db Andrew Garrard */int x,y,X;Q(Z,Y){Y=y<16?X=x-30,Y=y-17,225>X*X+Y
*/* `888' */Y:x>y,y+=y%2*2*(!(x+=y&x==39?-x:y&1)-1)+1;return Z?Y+2*Q(--Z,--
X)/* `8' */:Y;}main(){for(;y-42;puts(""))M(y);}M(z){printf("%c",(printf("%"
"c"," ',""[`~/P.\\wb]9dM"[z=Q(3,7)]),x&&M(*""),z)[" `.]'~\\9,/wd[PbM\""]);}
Life… не говори с мен за живота (или да получите един живот, в зависимост…):
long l=17895696,p,m[8],n[8]={0,65536,4096,1118208},y,z;main(x){for(;p++^14;
){for(;puts(""),y<8;++y)for(x=7;x--;printf("%c",".#"[1&n[y]>>4*x]));for(;++
x<7;m[x]-=n[x],m[x]=((m[x]/8|m[x]/4)&l^l)&m[x]/2&(m[x]|n[x]))for(m[x]=0,y=4
;--y;m[x]+=z*17+z/16)z=n[x+y-2];for(;--x;n[x]=m[x]);}} /* Andrew Garrard */
Той има някои по-вече програми за подпис.
Програми от Робърт Харли
А Rot 13 филтъра:
main(g,h){for(;h=getchar(),h>=0;putchar(g<65||g>90?h:g<78?h+13:h-13))g=h&223;}
Програма, която генерира 2569 знака след десетичната точка на електронна:
main(i){int j,s,d[1001];for(i=1e3;i;)d[i--]=1;for(printf("e>2.");++/*R.Harley*/
i<429;printf("%06d",s))for(s=0,j=1e3;j>1;d[j]=s%j,s/=j--)s+=1e6*d[j];puts("");}
Той също е написал Манделброт фрактал в PGM формат подпис.
Програма, която отпечатва решение на проблема Осем Куинс:
q(a,b,c){int e,f,i=8;for(;a&&i--;)if(e=1<<i,f=e<<a|e<<24-a,!(b&e||/*R. Harley*/
c&f)&&q(a-1,b|e,c|f))return printf("%08x\n",1<<i*4);return!a;}main(){q(8,0,0);}
Световната карта и места от Брайън Westley
Тази програма отпечатва карта на света с вашето местоположение маркирани. Пусни го като "PROG четиресет и пет -93" за напр. ширина N 45, W 93, (юг и запад са отрицателни числа). Вашият терминал трябва autowrap на 80 символа.
main( M,e,r,l,y,n )char**e;{for(l=atoi(e[1])/10*80-atoi(e[2])/5-836;r="\
@Q@t@ L,e,R,o,y NKACLCCGZAAQBEAADAFaISADJABBA^SNLGAQABDAXIMBAACTBATAH\
DBANZ ----------- cEMMCCCCAAhEIJFAEAAABAfHJETBdFLDAANEfDNBPHdBcBBBEA_Ax"
[M++-3];)for(;r-->64;)putchar(!l+++33^M&1);}/*Run w/lat & long as arguments*/
(Между другото, той е този, който ме номинира за Geek Сайт на деня.)
Възпроизвеждане на Mastermind Мартин Haring
/* Martin Haring <xxxxxxxx@xxxxxx.xxxxxx.xx> || use gcc to play mastermind */
main(){int i=0,j,e,p,a[4],b;srand(time(0));for(;i<4;i++){a[i]=rand()%8;for(j=
0;j<i;j++)if(a[i]==a[j])i--;}printf("A B C D GP\n");do{system("stty cbreak");
e=p=0;for(i=0;i<4;i++){b=getchar()&7;printf(" ");if(b==a[i])p++;for(j=0;j<4;j
++)if(b==a[j])e++;}system("stty cooked");printf("%d%d\n",e-p,p);}while(p<4);}
Той също така има Perl версия на този подпис.
Скривалище програма за подписване от Дарио Dariol
main(){while(!fork())sleep(1);}
Това просто една линия, включени C-програма е програма, която се скрие, когато той работи върху UNIX машина. Вие имате известни трудности да го убие, защото той се променя PID всяка секунда. Дарио също е написал някои самостоятелно програми за печат.
Tic-Tac-Toe програма за подписване от Джон Рикард
#define f(X,g,p,N,M)M{return X?a&b?a&b&1<<i&&m(b,a^1<<i,9)>8?i:M:0:9;}main(){\
int a=511,b=a,i=4;for(;X;b^=1<<N)a^=1<<g-'1',g,p(N+'1'),p('\n');} /* 123 */
f(i--&&b&7&&b&56&&b&448&&b&73&&b&146&&b&292&&b /* John Rickard */ /* 456 */
&273&&b&84,getchar(),putchar,m(b,a,9),m(a,b,i)) /* xxx@xxxx.xx.xx */ /* 789 */
Премества се дава от числата от 1 до 9, според оформление, дадени в подписа. Тази програма никога не губи, но понякога не успява да спечели, когато той би могъл да спечели.
Подписът програма от Крис Голдсмит
/*--Chris--*/main(){char*s="NDDGNLALAPAEDIDBBBBPADDIDB@B@PALGGDLAJCPAD"
/*Goldsmith*/"DED@BBBPAEDEDBBBBPNDDINLILIP",j;for(;*s;printf("\0\n"+((*
/*---------*/s++&j)==j)))for(j=1;j<=8;j*=2)printf(" \0_/"+(*s&j?3:0));}
Подписване на програмата от мен
On unix: tail -2>sig.c;make sig;./sig <sig.c
main(){int v=77+97*121+32,c=71+111/100*32;while(v&&98)if(scanf("%d",&v)+108==
101+8&&v+115>9+115)putchar(++v- 32*4+121- 111+117);else- 10+getchar()+0;}
*** А Brainf преводач подпис
char m[9999],*n[99],*r=m,*p=m+5000,**s=n,d,c;main(){for(read(0,r,4000);c=*r;
r++)c-']'||(d>1||(r=*p?*s:(--s,r)),!d||d--),c-'['||d++||(*++s=r),d||(*p+=c==
'+',*p-=c=='-',p+=c=='>',p-=c=='<',c-'.'||write(2,p,1),c-','||read(2,p,1));}
( Eric Bock също пише.)
Един прост отговор магия осем топка подпис
Антъни Дж. Милс "Тони", пише този подпис програмата:
/* --==[ Anthony J. "Tony" Mills ]==-----==[ ????????????????? ]==-- */
T,M;main(){for(time(&M),M%=3;T=M["xzoifpzt\1\1\1"]-1;putchar(T,M+=3));}
Един ден на седмичната програма подписване от Сидни Cadot
+--------------------------------------------------------------------------+
| -- Sidney Cadot - xxxxxx@xx.xxx.xxxxxxx.xx - ITS/TU Delft - tst. 3850 -- |
+--------------------------------------------------------------------------+
|/* C-code to calculate day-of-week (1901-2099). Type name for man page. */|
|main(int c,char**v){exit(printf("%sday.\n","Use MM/DD/YYYY argument to c" |
|"alculate week\0Mon\0/0/Tues\0/0Wednes\0Thurs\0/Fri\0/0/Satur\0/Sun"+(*++ |
|v?42+((5*atoi(6+*v)+"@GSTDLXDP@HT@"[atoi(*v)])/4+atoi(3+*v))%7*7:0))/30);}|
+--------------------------------------------------------------------------+
Brainf *** преводач подпис от Ерик Бок
/* Eric */main(s,i,j,k,c){char*p=malloc(s=1),*a=p+(*p=i=j=k=0)/* Bock */
;while(~(*a=getchar())&&(++a-p<s||(a=(p=realloc(p,s+s))+s)&&(s+=s))||(*a
=0));for(a=malloc(s=1),*a=0;(c=p[i])&&(c=='+'&&++a[j]||c=='-'&&--a[j]||c
=='>'&&(++j<s||(a=realloc(a,s+s))&&memset(a+s,0,s)&&(s+=s))||c=='<'&&j--
||c=='.'&&~putchar(a[j])||c==','&&~(a[j]=getchar()))|!strchr("><.,",c);i
++)while((c=='['&&!a[j]||c==']'&&a[j])&&(k+=(p[i]=='[')-(p[i]==']'))&&p[
i+=c/* Brainf*** */=='[']&&(/* worse than */i-=c==']'/* this sig! */));}
Подпис програми от Марк VandeWettering
Първата му е Манделброт програма подпис. Вторият му е Brainf ** к C компилатор подпис програма:
#define P(C,X)case C:printf(#X);break; /* bftoc.c by xxxxx@xxxxx.xxx */
main(){int c;printf("char a[9999];main(){char*p=a;");while((c=getchar())>=0)
{switch(c){P(62,p++;)P(60,p--;)P(43,++*p;)P(45,--*p;)P(46,putchar(*p);)P(44,
*p=getchar();)P(91,while(*p){)P(93,});}}printf("exit(0);}");exit(0);}
Програмата работи като тръба.
Подпис програма от Мауро Persano
Мирната програма знак подпис:
int i,j,d;main(){for(;i<25;i++)for(j=48;j;putchar(!j?10:" #"[(d<150&&d>81)||(d<
150&&(abs(24-j)<2||(i>12&&(abs(j-i-12)<2||abs(48-j-i-12)<2))))]))d=(24-j)*(25-(
--j))+(12-i)*(12-i);}
Програма ин-ян подпис:
int q,Q,w,z;_(o){w=q-10*o;z=Q-20;return w*w+z*z;}main(){for(;q<40;q+=!(Q%=40),
putchar(!Q++?10:_(2)>400?32:".*"[w<0?(_(1)<99|z>0)&&_(1)>7:z>0&&_(3)>99||_(3)<
7]));}
Префикс израз оценител подпис програма:
#include<stdio.h>/* gcc sig.c; echo '(* (+ 2 5) 6)' | a.out * Mauro Persano */
c;x(){while(isspace(c=getchar()));}main(){printf("%d",y());}y(){int v,t,a,b;x(
);c>47&&c<58?ungetc(c,stdin),scanf("%d",&v):c==40?x(),t=c-42,a=y(),b=y(),v=!t?
a*b:t==1?a+b:t==3?a-b:t==5?a/b:exit(1),x(),c==41||exit(1):exit(1);return v;}
Подпис програма от Ерик Rigtorp
Той е автор на програмата подпис, че съживява инициалите му като един sinewave. Това е ANSI C, само дето не е включва файлове. Функции от stdio.h и unistd.h се използват. Лицензът е GPL.
main(){int i,a,e[10]={255,137,129,129,0,255,25,41,70,128},s[16]={3,4,5,6,
6,6,5,4,3,2,1,0,0,0,1,2},n=0;while(1){puts("\e[2J\e[1;1H");for(i=0;i!=10;
i++){for(a=s[(i+n)&0xF]+4;a!=0;a--)printf(" ");for(a=7;a>=0;a--){if(((e[i]
>>a)&1)==1){printf("#");}else{printf(" ");}}puts();}n++;usleep(40000);}}
Подпис програми от SED
main(){int i,j;{printf("\n Who did you say ? Sierpinski ? \n");}
for(i=0;i<80;i++){for(j=0;j<80;j++)printf("%c",i&j?'.':' ');printf("\n");}
printf("\n Life is a beach - George Sand (1804-1876) \n\n"); return 0;}
char*t= "u]Gd\\wa[nc[eHEdBQbhb`hgHWRLSbYfaYeHAIPQbhb`heHQINwihnkh";int
main(void) {int i=0,c;for(;i<330;c>>=1){if(i++%6==0)c=*t++;printf(i%66
?"%c":"%c\n",c&1?'|':' ');}return printf("is a nice little thing\n");}
Магистърската програма Mind подписване от Седрик Lallain
Следната програма подпис изпълнява Solver магистър Mind. Вие трябва да изберете таен код, и програмата ще я предполагам. След всяко предположение, трябва да отговорите с две числа.
int C,e,d,r,i,c,L[10000],_=1e4,Q[4],O[4];o(){for(C=rand();L[++C,C%=e];
);}q(i,c){for(d=4;d--;i-=Q[d]==O[d]);for(;++d>16;)Q[d&3]==O[d/4]&Q[d&3
]>=0?c+=Q[d&3]=O[d/4]=-1:0;return i|c;}F(c){printf("%04i%c",_?o(),C:-1
,c);}main(n){for(e=_;_<1;)for(F(63),scanf("%i%i",&i,&c),n=e;n--;q(i,c+
i)?_-=!L[n]++:0)for(r=1,d=4;d--;r*=10)O[d]=C/r%10,Q[d]=n/r%10;F(46);}
Подпис програма от Lecroart Vianney “асо”
Подписът програма по-долу произвежда BMP с интересни модели, които съдържа скрит код.
int a,c,e,_[14]={0xf4364d42,1,54<<16,40<<16,50<<20,5<<20,1<<16,16};t(p
){fputc(p*c,a);}main(i){for(fwrite(_,1,54,a=fopen("a.bmp","wb"));64e3>
i;t(4))e=i/16000*80+i%800/10,c=(i+i++/800)&1?("UEUJmbUiILefR]uQyrxruf\
VQ[JWUEjJaJuJBEkHU}_iDMnHi]Ldve@"[e/6]>>e%6)&1:i,t(6);}
Подпис програма от Tyrecius на Slashdot
Вие искате да знаете Endianicity на вашата машина?
char a[]="lbiitgt l e \n\n\0";main(){for(char*c=a; *(short*)c;c+=2){putchar(*(short*)c);}}
Подпис програма от Дарън Смит
Първият е 112 символа и изчислява пи до 2880 знака след десетичната запетая:
g,o,p,i=1e4,a[10001];main(x){for(;p?g=g/x*p+a[p]*i+2*!o:
53^(printf("%.4d",o+g/i),p=i,o=g%i);a[p--]=g%x)x=p*2-1;}
Следващото не е пи, но e. Той е на 84 символа и изчислява електронно до 992 знака след десетичната запетая:
a[999],x,n;main(N){for(;n||(putchar(48^x),
n=998+--N);x+=10*a[--n]+!N)a[n]=x%n,x/=n;}
Подпис progam от le_jfs
main(char O){O++&&(((O-291)*O+27788)*O-868020?1:putchar(O++) )&&main(O);}
Подпис програми на Горан “CHUPCKO” Лазич
Той също така има някои подпис програми в PostScript и Brainf ***.
main(c,h,p){for(c/*__*/=21;c--;puts
(""))for(h=c%2?3/*/ \*/:0,p=73;p-=
printf("%.*s",p,"\\__/ "+h);h=0);}
int _[16];m(x,i,f,z){for(f=z=-9,i=0;i<16;i++)f=_[i]==x?i:f,z=_[i]?z:i;i
=abs(f-z);if((i==1&&f/4==z/4)||i==4)i=_[f],_[f]=_[z],_[z]=i;}main(i,j){
srand(time(0));for(i=0;i<9999;i++)i<15?_[i]=i+1:m(rand()%15+1);for(;;){
for(j=i=0;i<16;j+=_[i]==++i)printf(_[i]?"%c%2d":"%c ",i%4?' ':'\n',_[i
]);if(j>14&&puts("\n\nYou WIN"))break;printf("\n\nMove ? ");scanf("%d",
&i)||scanf("%*[^0-9]");m(i);}} /* http://alas.matf.bg.ac.yu/~chupcko */
/* chupcko - matf.bg.ac.yu */int _[25];c(h,p){h>0&&h<6&&p>0&&p<6&&(_
[5*p+h-6]^=1);}main(h,p){for(;;){printf(" 1 2 3 4 5");for(h=p=0;h<25;
p+=_[h++]){h%5||printf("\n%d",h/5+1);printf(_[h]?" *":" .");}if(p>24&&
puts("\n\nYou WIN"))break;printf("\n\nMove ? ");scanf("%d",&p)||scanf(
"%*[^0-9]");h=p/10;p%=10;c(h-1,p);c(h,p);c(h+1,p);c(h,p-1);c(h,p+1);}}
main(c,h,p){p=15e4;while((c=getchar())>0){for(h=0;h<29&&h["ETINAMSDRG"
"UKWOHBLZFCP\0VX\0Q\0YJ"]!=(c&223);h++);if(h<29)for(h+=2;h>1;h/=2){c=h
&1;puts(c++?"\033[11;225]\a":"\033[11;75]\a");usleep(p*c);}else usleep
(p*2);usleep(p*2);}} /* echo CHUPCKO morse | ./a.out > /dev/console */
int _[32];main(c,h,p){*_=1;for(c=32;c--;){for(h=c;h /***********/
--;)printf(" ");for(h=0;h<32-c;)printf(_[h++]?"/\\" /* CHUPCKO */
:" ");puts("");for(p=h=1;h<32;p^=_[h++])_[h]^=p;}} /***********/
int _[33]={1};main(c,h,p){for(c=32;h=c--;puts("")){for(;--h;)printf(" ")
;for(p=h=1;h<33-c;p^=h++[_])printf(p?"/\\":" ",h[_]^=p);}}/* CHUPCKO */
int _[32]={1};main(c,h,p){for(c=32;c--;puts(""))for(printf("%*s",c,""),p=
h=0;32-c-h;printf(h++[_]?c%2?"/\\":h%2?"/_":"_\\":" "))h[_]^=p,p^=h[_];}
#define m(x,y,z) main(){x##puts(y);##z}
#define p m(char c[80];if(gets(c)){main();,c,})
p
#define p m(,"Hello world!",)
#define m(x,y,z) main(){x##puts(y);##z}
Баркод за генериране на подпис:
int/* ./a.out 4008155013759 | xv - */c,h,p;x(y){for(c^=1;1+y--;putchar(p
<6?1:c));}y(z){for(p^=63;z--;x(0));p^=63;}main(int/* EAN13 by CHUPCKO */
i,char*_[]){char*z="\220TE0\t\30\3!\22\201\0$,\34\62&\16*\32\26";for(p=4
*printf("P5 95 44 1\n");p--;y(3))for(c=1,y(3),i=1;i<13;i++)for(i==7&&y(5
),h=0;h<8;h+=2)x(z[i[1[_]]-48]>>((i<7&&z[*1[_]-38]&1<<i-1)?h:(6-h))&3);}
Друг Sierpinski триъгълник:
#define d 500 /* ./a.out > a.pgm; file a.pgm; xv a.pgm; : /\ CHUPCKO */
int _[6+d*d]={d-9,9,d-9,d-9,9,d/2};main(x,y,i,n){for(x=/*/__\*/y=i=0;++
i<3e4;_[6+x*d+y]=1)x+=_[n=rand()%3*2],x/=2,y+=_[n+1],y/*/\ /\*//=2;for
(printf("P5 %d %d 1\n",d,d),i=5;i<5+d*d;putchar(!_[++/*/__\/__\*/i]));}
89 или 99?
След подписването отпечатва 89 за Ansi C и 99 за c99. От ново: / / alt.lang.intercal Тема: Две програми.
