不少人說程序員是碼農,是字母的搬運工,一每天敲着重複的代碼,十分的無趣。其實程序員的世界,歷來是一個充滿想象力的天堂。今天小易給你們看看幾款程序員小夥伴們那些清奇的奇思妙想吧。ios
首先是「憂國憂民」的佛系代碼
最後,若是你們若是在自學遇到困難,想找一個C++的學習環境,能夠加入咱們的C++學習圈,點擊我加入吧,會節約不少時間,減小不少在學習中遇到的難題。c++
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
這個代碼很巧妙地組成了一個佛的形象,做者還在其下題了一首頗爲憂心的詩,要小編說,你有這寫佛祖代碼的功夫,還不如直接寫個好看的代碼哄女孩啊喂!git
比起上面這位佛系的做者來講,下面的這個愛心的代碼做者就很會來事了,何愁找不到女票是否是,用代碼來表白,別出心裁呀是否是,屏幕前的程序員是否是有點心動咧。
程序員
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
接下來,就爲你們分享幾款比較正經的代碼了。
經過計算代碼自己的面積來計算圓周率的近似值這個代碼來自世界混亂C代碼大賽International Obfuscated C Code ContestIOCCC這個大賽的宗旨是在C語言自己能夠執行的條件下看誰能寫出最有創意的最讓人難以理解的C語言代碼代碼的長度要求限制在4kb之內大賽的官方連接爲The International Obfuscated C Code Contestgithub
第23屆IOCCC競賽已經在2014年10月27日結束可是我彷佛找不到源代碼咱們來看看第22屆IOCCC競賽中的代碼中又沒有什麼好玩的東西吧函數
Best Painting
oop
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
Most Lazy SKLer Most lazy SKIer
學習
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
Best Use of 1 Infinite Loopui
Best use of 1 Infinite Loop
spa
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
下面是之前一些比較有趣的代碼
2012Most Elementray Use of C
Most elementary use of C
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
2012Most Functional Most functional
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
1998Best of Show
Carl Banks' Blog: IOCCC Flight Simulator
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
接下來,再爲你們分享幾款視覺上的盛宴:
(原文出自:http://www.matrix67.com/blog/...)
Kyle McCormick 在 StackExchange 上發起了一個叫作 Tweetable Mathematical Art 的比賽,參賽者須要用三條推這麼長的代碼來生成一張圖片。具體地說,參賽者須要用 C++ 語言編寫 RD 、 GR 、 BL 三個函數,每一個函數都不能超過 140 個字符。每一個函數都會接到 i 和 j 兩個整型參數(0 ≤ i, j ≤ 1023),而後須要返回一個 0 到 255 之間的整數,表示位於 (i, j) 的像素點的顏色值。舉個例子,若是 RD(0, 0) 和 GR(0, 0) 返回的都是 0 ,但 BL(0, 0) 返回的是 255 ,那麼圖像的最左上角那個像素就是藍色。
代碼以下:
// NOTE: compile with g++ filename.cpp -std=c++11
unsigned char GR(int,int);
unsigned char BL(int,int);
unsigned char RD(int i,int j){
// YOUR CODE HERE
}
unsigned char GR(int i,int j){
// YOUR CODE HERE
}
unsigned char BL(int i,int j){
// YOUR CODE HERE
}
void pixel_write(int,int);
FILE *fp;
int main(){
fp = fopen("MathPic.ppm","wb");
fprintf(fp, "P6 %d %d 255 ", DIM, DIM);
for(int j=0;j<DIM;j++)
for(int i=0;i<DIM;i++)
pixel_write(i,j);
fclose(fp);
return 0;
}
void pixel_write(int i, int j){
static unsigned char color[3];
color[0] = RD(i,j)&255;
color[1] = GR(i,j)&255;
color[2] = BL(i,j)&255;
fwrite(color, 1, 3, fp);
}
下面這張圖片仍然出自 Martin Büttner 之手:
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
不可思議, Mandelbrot 分形圖形竟然能夠只用這麼一點代碼畫出:
unsigned char RD(int i,int j){
float x=0,y=0;int k;for(k=0;k++<256;){float a=xx-yy+(i-768.0)/512;y=2xy+(j-512.0)/512;x=a;if(xx+yy>4)break;}return log(k)*47;
}
unsigned char GR(int i,int j){
float x=0,y=0;int k;for(k=0;k++<256;){float a=xx-yy+(i-768.0)/512;y=2xy+(j-512.0)/512;x=a;if(xx+yy>4)break;}return log(k)*47;
}
unsigned char BL(int i,int j){
float x=0,y=0;int k;for(k=0;k++<256;){float a=xx-yy+(i-768.0)/512;y=2xy+(j-512.0)/512;x=a;if(xx+yy>4)break;}return 128-log(k)*23;
}
Manuel Kasten 也製做了一個 Mandelbrot 集的圖片,與剛纔不一樣的是,該圖描繪的是 Mandelbrot 集在某處局部放大後的結果:
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
它的代碼以下:
RD j
=0b=0cdn=0;
(=aa+d=bb<4&&n++<880)
{=2ab+j8e-9-645411;a=c-d+i8e-9+.356888;}
255*pown-80/800,3.);
}
GR j
=0b=0cdn=0;
(=aa+d=bb<4&&n++<880)
{=2ab+j8e-9-645411;a=c-d+i8e-9+.356888;}
255*pown-80/800,7);
}
BL j
=0b=0cdn=0;
(=aa+d=bb<4&&n++<880)
{=2ab+j8e-9-645411;a=c-d+i8e-9+.356888;}
255*pown-80/800,5);
}
這是來自 githubphagocyte 的做品:
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
它的代碼以下:
RD j
=3/(j+99);
=j+sinii+_sqj-7005/100/DIM35s;
i+DIMs+y%2+intDIM2-s+y%2127;
}
GR j
=3/(j+99);
=j+sinii+_sqj-7005/100/DIM35s;
5i+DIMs+y%2+int5DIM2-s+y%2127;
}
BL j
=3/(j+99);
=j+sinii+_sqj-7005/100/DIM35s;
29i+DIMs+y%2+int29DIM2-s+y%2127;
}
這是來自 githubphagocyte 的另外一個做品:
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
這是一張使用 diffusion-limited aggregation 模型獲得的圖片,程序運行起來要耗費很多時間。代碼頗有意思:巧妙地利用宏定義,打破了函數與函數之間的界限,三段代碼的字數限制便能合在一塊兒使用了。
unsigned char RD(int i,int j){
return(i+j)?256-(BL(i,j))/2:0;
}
unsigned char GR(int i,int j){
return RD(i,j);
}
unsigned char BL(int i,int j){
A;n;n++){x=R;y=R;if(B==1){f=1;for(d=0;d<4;d++){c[d]=M;f=f<c[d]?c[d]:f;}if(f>2){B=f-1;}else{++e%=4;d=e;if(!c[e]){B=0;M=1;}}}}}return mi;
}
最後這張圖來自 Eric Tressler
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!
這是由 logistic 映射獲得的 Feigenbaum 分岔圖。和剛纔同樣,對應的代碼也巧妙地利用了宏定義來節省字符:
RD j
R BLj*D-/D;
}
GR j
R BLj*D-j/2/D;
}
BL j
F cD;if(i+j<1){A;B;G;a<D;a+=0.1){G b=0;b<D;b++){H;G k=0;k<D;k++){x=rx(1-x);if(k>D/2){e=a;o=(Ex);ce+=0.01;}}}}}R C(cj)i/D;
}
好了,看了這麼多神奇的代碼,相信總有一款能夠吸引到你,只要998,啊不是,代碼再如何神氣,也是由人來創造,正如同現實世界的高樓大廈是一磚一瓦鋪就,各種代碼語言的學習也是由平地起,本身的代碼世界由本身構建裝點,是繁是簡均爲所思,前期的知識累積階段是會比較無聊,可是不經一番寒徹骨,哪得梅花撲鼻香,計算機語言之路遠矣,雖千萬人吾往矣!
敲代碼無聊?那是你沒見過這些騷氣高端的代碼!敲代碼無聊?那是你沒見過這些騷氣高端的代碼!